NjI (UddlZddlZddlZddlmZddlmZejejejej e Z ej dZejerene ddZgaeeed<dZd ed eeeffd Zd efd Zd eefd ZdededefdZdefdZdeefdZded efdZdZ dZ!dS)N)Counter)loggerMONITOR_SERVER_DIRNEW_MonitorOsservatoriozTABELLA DECODIFICA RETI.CSV_tablecV ttdd5}tj|d}d|Dadddn #1swxYwYt jdttdS#t$r"}t j d|gaYd}~dSd}~wwxYw) Nlatin-1newlineencoding;) delimiterc,g|]}t|S)dict.0rs .C:\PYTHON\MonitorOsservatorioPy\app\decoder.py zload..s...!d1gg...z)Tabella decodifica reti caricata: {} retiz0Impossibile caricare tabella decodifica reti: {}) open _CSV_PATHcsv DictReaderrrinfolen Exceptionwarning)freaderes rloadr$s )R) < < < /^A555F..v...F / / / / / / / / / / / / / / /  ?VMMMMM I1MMMs9A<#A A<A  A<A *A<< B(B##B(channelreturnc|pd}tD]}|dd|krR|d||ddfcS|dfS)zHReturns (decodificato, paese). Falls back to (channel, '') if not found.r ORIGINALE DECODIFICATOPAESE)striprgetupper)r%chrows rdecode_channelr0s -R   BUU 77; # # ) ) + + 1 1 3 3rxxzz A A77>2..44668L8L8R8R8T8TT T T T B r6Mrcg}|D]0}t|j\}}|r||1|sdSt|dddS)z@Detect country by majority vote across all channels in the file.r r)r0r%appendr most_common)recordspaesir_paeses r detect_paeser9#su E   !!),,5  LL    r 5>> % %a ( ( +A ..rc*ttS)N)listrrrr get_tabler</s <<rr8 originale decodificatoc^t|||dtdS)Nr*r(r))rr3_save)r8r=r>s radd_rowrB3s+ MME <XXYYY GGGGGridxcd|cxkrttkr.ndSt|tdSdS)Nr)rrpoprA)rCs r delete_rowrF8sQC#f++ 3 rrowsc:d|DatdS)NcNg|]}|dd*|dd|dd|dddS)r(r r*r)r@)r,r+rs rrzsave_table..@s>>>quu[44::<<>gb))//11EE+b117799 uu^B77==??AA>>>r)rrA)rGs r save_tablerJ>s1>>>>>F GGGGGrncTtdd}|dd|dS)N.r2r_backup_z.CSV)rrsplit)rKbases r _backup_pathrQGs2   C # #D1g & &q & & &&rcrtjtsdSt dddD]W}t |dz }t |}tj|rt j||Xt jtt ddS)Nr2)ospathexistsrrangerQshutilcopy2)isrcdsts r_rotate_backupsr^Ls 7>>) $ $ 1a__##1q5!!1oo 7>>#   # Lc " " " LLOO,,,,,rc^tttddd5}tj|gdd}||tdddn #1swxYwYtj dttdS) Nwr r r r@r) fieldnamesrz(Tabella decodifica reti salvata: {} reti) r^rrr DictWriter writeheader writerowsrrrr)r!writers rrArAWs ib9 = = =!.T.T.T`cddd   !!!!!!!!!!!!!!! K:CKKHHHHHsAA;;A?A?)"rrUrY collectionsrlogururrVdirnameabspath__file__ _MONITOR_DIRenvironr, _server_dirjoinrrr;r__annotations__r$strtupler0r9r<rBintrFrJrQr^rArrrrss wrwrwrwx?X?X/Y/YZZ[[ jnn122 GLL EG`b A A T    CE#s(O /S / / / /4: 3 3 c    C  T$Z    'C'C'''' ---IIIIIr