
    Lj                    b   S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	  \" \
5      R                  5       R                  r\R                  r\" \R                  " S\S-  5      5      r\" \R                  " S\S-  5      5      r\" \R                  " S	\S
-  5      5      r\" \R                  " S\S-  5      5      r\" \R                  " S\S-  5      5      r\" \R                  " S\S-  5      5      r\" \R                  " S\S-  5      5      rSS jrSS jrSSS jjrSSS jjrSSS jjrg)    )annotationsN)Path)AnyIterableORIGUS_SHARED_DIRsharedORIGUS_CORE_ROOTcoreORIGUS_CORE_DBzcore.dbORIGUS_CORE_SOURCESsourcesORIGUS_CORE_SECRETSsecretsORIGUS_CORE_TOKEN_FILEz.internal_tokenORIGUS_CORE_KEY_FILEz.secret_keyc                 T    [         [        [        4 H  n U R                  SSS9  M     g )NT)parentsexist_ok)	CORE_ROOTSOURCE_ROOTSECRETS_ROOTmkdir)ps    -/mnt/data/_core_build/package/core/core_db.pyensure_dirsr      s#    l3	t, 4    c                     [        5         [        R                  " [        SS9n [        R                  U l        U R                  S5        U R                  S5        U R                  S5        U $ )N   )timeoutzPRAGMA foreign_keys=ONzPRAGMA journal_mode=WALzPRAGMA busy_timeout=5000)r   sqlite3connectDB_PATHRowrow_factoryexecute)cons    r   r!   r!      sN    M
//'2
.CkkCOKK()KK)*KK*+Jr   c                f    U (       d  U$  [         R                  " U 5      $ ! [         a    Us $ f = fN)jsonloads	Exception)valuedefaults     r   	json_loadr.       s2    zz%   s   ! 00c                    [        5        nUR                  U [        U5      5      R                  5        Vs/ s H  n[	        U5      PM     snsS S S 5        $ s  snf ! , (       d  f       g = fr(   )r!   r%   tuplefetchalldict)sqlparamsr&   rs       r   r1   r1   (   sK    	c!$S%-!@!I!I!KL!KAQ!KL 
L 
s   ,AAAA
A+c                    [        5        nUR                  U [        U5      5      R                  5       nU(       a  [	        U5      OS sS S S 5        $ ! , (       d  f       g = fr(   )r!   r%   r0   fetchoner2   )r3   r4   r&   rows       r   r7   r7   ,   s;    	ckk#uV}-668tCyT 
s   =A
A )returnNone)r9   zsqlite3.Connectionr(   )r,   z
str | Noner-   r   r9   r   ) )r3   strr4   Iterable[Any]r9   zlist[dict[str, Any]])r3   r<   r4   r=   r9   zdict[str, Any] | None)
__future__r   r)   osr    pathlibr   typingr   r   __file__resolveparentBASE_DIRPROJECT_ROOTgetenv
SHARED_DIRr   r"   r   r   INTERNAL_TOKEN_FILEMASTER_KEY_FILEr   r!   r.   r1   r7   r;   r   r   <module>rK      s   "  	    >!!#**"))/1HIJ
-zF/BCD	
ryy)9y+@A
B2992I	4IJKBII3Y5JKL299%=yK\?\]^ ryy!7]9RST-M*r   