Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
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: