jNj `ddlZddlZddlmZddlmZejejeje dZ ejejejej e Z ej dZejerene dZdejfdZd Zdefd Zdd ed edeefdZdedeefdZdS)N)Optional)loggerz monitor.dbMONITOR_SERVER_DIRzdb.accdbreturncZtjt}tj|_|S)N)sqlite3connectDB_PATHRow row_factoryconns )C:\PYTHON\MonitorOsservatorioPy\app\db.py _get_connr s ?7 # #D{D Kc~t5}|dddddS#1swxYwYdS)NaO CREATE TABLE IF NOT EXISTS scheda_prodotto ( id INTEGER PRIMARY KEY AUTOINCREMENT, titolo TEXT, tipologia TEXT, anno TEXT, genere TEXT, paese TEXT, rete TEXT, cod_oss TEXT ) )rexecuter s rinit_dbrs                        s 266c& ddl}dtd}||}|d}|t 5}|d|dd|Ddddn #1swxYwYtj dt|d d S#t$r#}tj d |d Yd}~d Sd}~wwxYw)Nrz6Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=;zPSELECT TITOLO, TIPOLOGIA, ANNO, GENERE, PAESE, RETE, CodOss FROM SCHEDA_PRODOTTOzDELETE FROM scheda_prodottozjINSERT INTO scheda_prodotto (titolo, tipologia, anno, genere, paese, rete, cod_oss) VALUES (?,?,?,?,?,?,?)c tg|]5}|d|d|d|d|d|d|df6S)r.0rs r z$sync_from_access..1sCJJJ!A$!adAaD!A$!ad;JJJrzSync da Access completato: z recordTzSync da Access fallito: u — uso monitor.db esistenteF) pyodbc ACCESS_PATHr rfetchallcloser executemanyrinfolen Exceptionwarning)r#conn_straccrowsres rsync_from_accessr0"sv  # # # # nnX&&{{mnnwwyy [[ D LL6 7 7 7   |JJTJJJ                    D#d))DDDEEEt R!RRRSSSuuuuus<A-C#/6B1% C#1B55C#8B59(C## D-D  DFquerycontainsc|rd|dn|d}t5}|d|f}dddn #1swxYwYd|DS)N%zuSELECT titolo, tipologia, anno, genere, paese, rete, cod_oss FROM scheda_prodotto WHERE titolo LIKE ? ORDER BY titoloc,g|]}t|Sr)dictrs rr"z!search_scheda..As " " "DGG " " "r)rrr%)r1r2patternrr.s r search_schedar8:s&7l%lllluKKKG || D J   (**  # "T " " ""s*AAAtitlect5}|d|f}dddn #1swxYwY|rt|ndS)NzpSELECT titolo, tipologia, anno, genere, paese, rete, cod_oss FROM scheda_prodotto WHERE UPPER(titolo) = UPPER(?))rrfetchoner6)r9rrows rfind_by_title_exactr=Ds ll ~ H   (**   %4999%s*AA  A )F)rostypingrlogururpathjoindirname__file__r abspath _MONITOR_DIRenvironget _server_dirr$ Connectionrrboolr0strlistr6r8r=rrrrNs  ',,rwrwx'@'@AA< P Pwrwrwrwx?X?X/Y/YZZ[[ jnn122 gll+G;;<TT 7%    $0####d####&s&x~&&&&&&r