EWjV8 dZddlZeejdrejddddlZddlZddlZddlm Z ddl m Z dd l m Z mZmZmZmZejeZd ed ed ed edef dZe eddZde fdZde fdZde fdZde fdZde fdZeddZeddZ eddgdZ!edd Z"ed!dgd"Z#ed#dgd$Z$ed%dgd&Z%ed'dgd(Z&ed)d*Z'ed+dgd,Z(ed-dgd.Z)dS)/u ReportReti — Flask server. N reconfigureutf-8replace)encodingerrors)date)Path)Flaskrender_templatejsonifyrequestsend_from_directory initial_dir default_name filter_pairstitlereturncP ddl ddlm dd|Ddz} |d}G fdd j}|dd d }|} ||_||_d |_ ||_ d|_ ||_ ||_||_d |_ jj |} | r|jndS) zBShow Windows Save As dialog via ctypes. Returns chosen path or ''.rN)wintypesc3,K|]\}}|d|dVdS)N).0dps 7C:\PYTHON\MyICR_Suite\app\modules\report_reti\server.py z#_win_save_dialog..s2@@41aA@@@@@@riceZdZdjfdjfdjfdjfdjfdjfdjfdjfd jfd jfd jfd jfd jfdjfdjfdjfdjfdj fdjfdjfdjfdjfdjfgZ dS)_win_save_dialog.._OFN lStructSize hwndOwner hInstance lpstrFilterlpstrCustomFilternMaxCustFilter nFilterIndex lpstrFilenMaxFilelpstrFileTitle nMaxFileTitlelpstrInitialDir lpstrTitleFlags nFileOffsetnFileExtension lpstrDefExt lCustDatalpfnHooklpTemplateName pvReserved dwReservedFlagsExN) __name__ __module__ __qualname__DWORDHWND HINSTANCELPCWSTRc_void_pWORD c_ssize_t_fields_)ctypesrsr_OFNr!s (. 1 (- 0 ("4 5 ("2 3 &/ 2 (. 1 (. 1 &/ 2 (. 1 &/ 2 (. 1 ("2 3 ("2 3 (. 1 (- 0 (- 0 ("2 3 &"2 3 &/ 2 &/ 2 &/ 2 (. 1 (. 1/ rrEz*.i)rDrjoincreate_unicode_buffer Structurelstripsizeofr"r%r( addressofr)r*r-r.r2r/windllcomdlg32GetSaveFileNameWbyrefvalue) rrrr filter_strbufrEdefextofnokrDrs @@r_win_save_dialogrWsPMMM@@<@@@@@4GJ  & &|U ; ;C        v   6!_Q  & &t , ,F $&&C ----CO$COC **3//CMCL%CCN CO1CI   0 0c1B1B C CB "399"rfrontend)template_folder static_foldercvttjjjjS)N)r __file__resolveparentrrr _app_rootr_Ns& >> ! ! # # * 1 8 ??rc ddlm}|}t|ddz S#t$rtdz dz cYSwxYw)Nr) load_config parquet_dirzlocal_db/parquetlocal_dbparquet)app.config_loaderrar_get Exception)racfgs r _parquet_dirriRsw4111111kmm{{SWW]4FGGGG 444{{Z')33334s47AAcn ddlm}|dS#t$rtdz dz cYSwxYw)Nr get_db_path mediatracksync_dbz mediatrack.db)rerlrgr_rks r_mediatrack_dbro[s^9111111{<((( 999{{Y&88889s 44c\tdz dz }|dd|S)Nrc report_retiTparentsexist_ok)r_mkdirrs r _output_dirrwcs0 j =0AGGD4G((( HrcVtdz }|dd|S)NtmpTrr)rwrurvs r_tmp_dirrzis+ AGGD4G((( Hr/c tdS)Nz index.htmlr rrrindexr~qs < ( ((rz/schedac tdS)Nz scheda.htmlr}rrrschedarvs = ) ))rz /api/titoliPOST)methodsc tjdpi} tj|d}tj|d}n5#tt f$r!}t dd|ddfcYd }~Sd }~wwxYw d d lm}m }|tt||}g}| D][\}} | D]Q | d  d | d d d dd dd dd dd dd dd dd d dd d ddt d fd|Dd S]t d|d!S#t $rJ}t"d"|d#t dt'|dd$fcYd }~Sd }~wwxYw)%z$Returns list of titles for the grid.Tforce date_fromdate_toFDate non valide: rVerrorNr) fetch_titlesV_LABELSgemma_idtitolo distributoredata_gemcod_imdb regia_gemrcast_gem tipologia_gemacq_vendem_concorrenzaem_reteem_dataem_ora em_fascia em_audienceem_share)retedataorafasciaaudienceshareomdbcHi|]}|d|dpdSV_rrfrlblts r zapi_titoli..s4#Y#Y#YCzCzz2)>)>)D"#Y#Y#Yr)rrpaeserrrregiacast tipologiarremhas_omdbval)rVtitoliz[SisterCo] api_titoli error: exc_info)r get_jsonr fromisoformatKeyError ValueErrorr !app.modules.report_reti.report_dbrrriroitemsappendrfboolrgloggerrstr) payloadrrerrrrowsrtitlesrs @r api_titolir}sT***0bGM&w{';<< &wy'9:: j !MMMe.E!.E.EFFGGLLLLLLLM#<LLLLLLLL|LNNN,<,zapi_titolo..sc!'rll((**rrrrrrrrannoanno_produzioneduratagenerirregistiattori imdb_ratingpremisinossi poster_url url_poster valutazionicDi|]}|d|dSrrrs rrzapi_titolo..s</2QUU:::r**rT)rVrz[SisterCo] api_titolo error: rr)r argsrfrr rrrrirorgrrr)rrrrsresultrrs @r api_titolorsG|b))//11H Cem<<==sBB$<QQQQQQQQ  lnnn.>.> I I 9%2FGGHH#M MuuVR   * * 1Z= 1X;  155"--  1^,  1Z=  1Z=   155b11  11TXX&78899  11TXXh//00  11TXXh//00  11TXXi0011KQUU;5K5K  11TXXh//00  11TXXm4455  11TXXg..// 11TXXi0011! " 11TXXl3344# & 6>' .df55666 <<< 8Q884 HHHec!ff5566;;;;;;;.sQ YY[[9A00crN(scheda_z.pdf)PDFz*.pdfz Tutti i filez*.*zSalva PDF schedarrrrz'[SisterCo] genera_scheda dialog error: rrrV cancelledr)generate_scheda_pdf)rVpdf_pathz [SisterCo] genera_scheda error: )r rrfr rGrrWrrwrgrr app.modules.report_reti.exporterrr )r safe_titlerrrrs rapi_genera_schedars, D ) ) ) /RF ::h  Ge.?@@AA3FF! rc  577.Z---L <KMM**%*,CD$     <<< BqBBT RRRec!ff5566;;;;;;;< 9e$77888<HHHHHHFDJJ///d55666 <<< ;;;d KKKec!ff5566;;;;;;;.,s$444tq!CFF444r)rV excel_pathstatsz[SisterCo] genera_excel error: rr)r rrrrrr rrrrrirostrftimerwrrrgrr) rrrrrrrtagxl_pathr s rapi_genera_excelrsT***0bGM&w{';<< &wy'9:: j !MMMe.E!.E.EFFGGLLLLLLLM<BBBBBBCCCCCC|LNNN,<,.<s=UU DqO';';11UUUUUUrrz.scheda)zScheda SisterCo MFEz*.schedarz Salva schedarz&[SisterCo] salva_scheda dialog error: rFrrr)indent ensure_asciir)rrz%[SisterCo] salva_scheda write error: )jsonr rrfrGrrWrrwrgrrr r write_textdumps)_jsonrrsaferrrs rapi_salva_schedar6s  $ ' ' ' -2D XXh ) )F 77UUfUUU U UVYWYVY Z ` ` b bD###L <KMM**%=?VW     <<< AaAAD QQQec!ff5566;;;;;;;< 9e$77888< T ekk$qukMMX_```dD11222 <<< @Q@@4 PPPec!ff5566;;;;;;;>* % %Fe.>??@@#EEOOC D$<  rz /api/aprictjdpi}|dd}|r!t|st ddddfS t jd krtj |n-d dl }| t jd krd nd |gt ddiS#t$r+}t dt|ddfcYd}~Sd}~wwxYw)NTrrrFrrrwin32rdarwinr'zxdg-openrVr)r rrfr r r sysplatformos startfile subprocesscallrgr)rrr0rs rapi_aprir2js&T***0bG ;;vr " "D HtDzz((**He.@AABBCGG< <7 " " L         OOs|x'?'?VVZQUV W W Wd|$$$ <<<ec!ff5566;;;;;;; C93C>9C>)*__doc__r,hasattrstdoutrr.rloggingdatetimerpathlibr flaskr r r r r getLoggerr9rrlistrWappr_rirorwrzrouter~rrrrrrrr"r(r2rrrr>s  73:}%%?JGI>>> OOOOOOOOOOOOOO  8 $ $1##1#S1##'1#031#8;1#1#1#1#f e @4@@@@4d444499999 T     $    3)))9*** =6(++,<,<,+,<^=*<*<*<^ &2288328* &22!<!<32!