Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
cat | reformime ....
4x se stejným souborem kvůli čtyřem hlavičkám mi přijde neefektivní ( emailů je kolem 180 GB ). Navíc jsem musel hlavičky stejně ošetřit pythonem (dekódovat).
Zkusil jsem tedy načtení hlaviček napsat kompletně v Pythonu. Python má nějaké rozšíření mail, ale nepřišel jsem mu na kloub, a způsoben, jakým jsem s ho snažil použít mi stále vyhazoval exceptions u dekódování "To :" ( tak jeden z 50-ti emailů mu neseděl .. ono to zlobilo i s tím reformime a následným dekódováním) ..
Tady chci představit mou práci (jsem pořád začátečník) požádat o korekce příp navrhnout jinou cestu.
předem díky.
Toto je jen funkce, která vytáhne hlavičky. na vzorku emailů se to chovalo korektně, ale možná narazím na nějaké exotické emaily, kde bude výsledek horší.
Funkce je lehce přizpůsobená z mail.headers (kde problém dělal použitý regulární výraz, jak jsem zjistil ) - regulární výraz je hahrazen otrockou smyčkou ..
def getheaders ( file_handler ): headers={} needed_headers = ["From: ", "To: ", "Subject: ", "Date: "] we_read = False for mail_line in file_handler: if ( we_read == True ): if( mail_line.startswith(' ') ): cur_header += " "+mail_line.strip(); else: headers[h] = cur_header[len(h):] needed_headers.remove(h) we_read = False if ( we_read == False ): for h in needed_headers: if( mail_line.startswith( h ) ): cur_header=mail_line.strip() we_read = True break if( len(needed_headers) == 0 ): break #print "headers - TO: " #print headers["To: "] return headers
def get_headers2( file_handler ): headers={} needed_headers = ["From", "To", "Subject", "Date"] msg = email.message_from_file( file_handler ) for h in needed_headers: curr_header = email.header.decode_header( msg.get( h ) ) header_sections = [unicode(text, charset or 'ASCII', "ignore") for text, charset in curr_header ] headers[ h ] = u"".join(header_sections) mail_date = msg.get( "Date" ) if ( mail_date ): tup_date = email.utils.parsedate_tz( mail_date ) if ( tup_date ): ts_date = email.utils.mktime_tz( tup_date ) if ( ts_date ): mail_date = datetime.datetime.fromtimestamp( ts_date ).strftime( '%Y-%m-%d %H:%M:%S' ) headers[ 'Date' ] = mail_date return headersZpracování datumu je tam odbyté, ale nepotřebuji na sekundu přesně čas, tak jsem to víc neřešil..
Tiskni Sdílej: