Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.
Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani
… více »Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.
NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.
Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.
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 headers
Zpracování datumu je tam odbyté, ale nepotřebuji na sekundu přesně čas, tak jsem to víc neřešil..
Tiskni
Sdílej: