TVj bUdZddlZddlZddlZddlmZddlmZmZm Z ee  j Z e j j Ze dz ZeedZiZeed<defd Zd Zd*d ed ed edefdZeddZeddZeddZdefdZdefdZ eddZ!eddgdZ"eddgdZ#eddgd Z$ed!z d"z d#z d$z ed!z d"z d%z d$z ed!z d"z d&z d$z d'Z%ed(dgd)Z&dS)+u\ MyICR Suite — Flask server (porta 5001) Serve la welcome page e le API di lancio moduli. N)Path)Flaskjsonifysend_from_directoryfrontend) static_folder_procsreturnc4ttjS)zNRestituisce il Python corrente (pythonw.exe in produzione, python.exe in dev).)rsys executable)C:\PYTHON\MyICR_Suite\app\suite\server.py _python_exers   rcttD]*}||+tdSN)listr valuespoll terminateclear)procs rterminate_all_subprocessesrsQV]]__%% 99;;  NN    LLNNNNNrnamescript extra_argscbt|}||d|ddStt t|g|pgz}t jdkr tjnd} tj |tt|}|t|<t jdkr: ddl }|j j |jn#t $rYnwxYwddiS#t $r}dt|dcYd}~Sd}~wwxYw) NFu è già in esecuzioneokerrorwin32r)cwd creationflagsr T)r getrstrrr platform subprocessCREATE_NO_WINDOWPopen _APP_ROOTctypeswindlluser32AllowSetForegroundWindowpid Exception) rrrexistingcmdflagsrr,es r_launch_subprocessr6!sLzz$H  7&E&E&EFFF {}}  s6{{ +z/?R @C+.<7+B+BJ ' 'E .YuMMMt <7 " "   $==dhGGGG    d| ...c!ff--------.sCAD (C43D4 D>DDD D.D)#D.)D./cFtttdS)Nz welcome.htmlrr& _FRONTENDrrrindexr;8s s9~~~ > >>rz/static/cFttt|Srr9)filenames r static_filesr>=s s9~~x 8 88rz /api/versionc ddlm}td|iS#t$rtddicYSwxYw)Nr get_versionversion)app.config_loaderrArr1r@s r api_versionrEBse(111111 ;;==1222 ((( 2'''''(s !??cftjddS)NUSERNAMErC)osenvironr%lowerrrr _current_userrKKs$ :>>*b ) ) / / 1 11rc ddlm}d|dgD}t|vS#t$rYdSwxYw)Nr) load_configc6g|]}|Sr)rJ).0us r z(_report_reti_allowed..Qs QQQ17799QQQrreport_reti_usersF)rDrMr%rKr1)rMalloweds r_report_reti_allowedrTNst111111QQkkmm&7&78KR&P&PQQQ')) uus=A A Az /api/configcttjddkt dS)NMYICR_DEV_MODE1)dev_modecan_report_reti)rrHrIr%rTrrr api_configrZVs> :>>*:;;sB/11  rz/api/launch/mediatrackPOST)methodscbtdz dz dz dz }ttd|S)Nappmodules mediatrackrun.pyr+rr6rs rlaunch_mediatrackrd^s4   *\ 9H DF %lF;; < <ct|}|tdd|ddSttd||S)NFz Dashboard "z" non riconosciutardash_) _DASH_SCRIPTSr%rr6)rrs r launch_dashruxs[   t $ $F ~e.TD.T.T.TUUVVV %ndnnf== > >>rr)'__doc__rHr r(pathlibrflaskrrr__file__resolveparent _SUITE_DIRr+r:__name__r^r dict__annotations__rrr&rr6router;r>rErKboolrTrZrdrgrjrtrurrrrs 5555555555 T(^^ # # % % ,   % * $  eHD))) T    ..S.$.D.D.....3??? $%%99&%9>(((2s2222d= #fX66==76=  &2299329  $vh77>>87>U"Z/2BBXMU"Z//AXMU"Z/.@XM  $vh77??87???r