X6Nj[dZddlZddlZddlZddlZddlmZddlmZee  j Z e j j j Z e dz dz Ze dz dz ZejeZd Zd efd Zdad efd ZdefdZddZdS)uq Linker launcher — avvia la finestra Linker come QMainWindow floating. Chiamato da MyICR Suite main_window.py. N)Path) QMessageBoxlocal_dbparquetsync_dbz linker.dbg?db_pathc j tjt|}|dd}|dd}|dkrg||z t krYt d|d|d|dz|zd|d t d |d S#t$r(}t d |Yd }~d Sd }~wwxYw) zCApre una connessione dedicata e lancia VACUUM se freelist > soglia.zPRAGMA freelist_countrzPRAGMA page_countzinker] VACUUM linker.db (/z pagine libere, dz%)VACUUMz[Linker] VACUUM completatoz'[Linker] VACUUM fallito (non critico): N) sqlite3connectstrexecutefetchone_VACUUM_THRESHOLDloggerinfoclose Exceptionwarning)rconfreelisttotales 4C:\PYTHON\MyICR_Suite\app\modules\linker\launcher.py_vacuum_if_neededrs= Foc'll++;;677@@BB1E;;233<<>>qA 199E),=== KKohooooX`adXdfkXkooo p p p KK ! ! ! KK4 5 5 5 FFFDDDEEEEEEEEEFsC&>&@&@!%%'''W>LLLLLLMMMMMMEEEEEE6::nc:N6O6OPPQQ       V V(.[)9)9::  """ L{LLMMMM V V VT7TTUUUUUUUU V ?  @;@@@    F z~~.//36!',>> 2q22T BBBV_c!ff=========>sA+QA D Q D=D83Q8D==QB;QAIQ J 'JQJ  *Q6AK76Q7 L(L#Q#L((D5Q R6)AR11R6)N)__doc__r'loggingr rTpathlibrPyQt6.QtWidgetsrr"resolver#_LINKER_MODULE_DIRr]rNrS getLogger__name__rrrrFdictr+r0rfrrrsE  ''''''T(^^++--4  % , 3  :- 9 9,{:  8 $ $ Ft F F F FdG$GGGGc>c>c>c>c>c>rq