
    O[i                     n    d dl Z d dlZd dlZd dlmZ ddlmZ  e j                  e      Z	 G d de      Z
y)    N)Path   )SQLiteStoragec                   >     e Zd ZdZdedef fdZd Zd Zd Z	 xZ
S )FileStoragez.sessionnameworkdirc                 f    t         |   |       || j                  | j                  z   z  | _        y N)super__init__r   FILE_EXTENSIONdatabase)selfr   r	   	__class__s      P/var/www/files/kim/lib/python3.12/site-packages/pyrogram/storage/file_storage.pyr   zFileStorage.__init__    s+    499t/B/B#BC    c                 ^   | j                         }|dk(  r5| j                  5  | j                  j                  d       d d d        |dz  }|dk(  r5| j                  5  | j                  j                  d       d d d        |dz  }| j                  |       y # 1 sw Y   ZxY w# 1 sw Y   ,xY w)Nr   zDELETE FROM peers   z'ALTER TABLE sessions ADD api_id INTEGER)versionconnexecute)r   r   s     r   updatezFileStorage.update%   s    ,,.a< 7		!!"567 qLGa< M		!!"KLM qLGW7 7M Ms   BB#B #B,c                 N  K   | j                   }|j                         }t        j                  t	        |      dd      | _        |s| j                          n| j                          | j
                  5  | j
                  j                  d       d d d        y # 1 sw Y   y xY ww)Nr   F)timeoutcheck_same_threadVACUUM)	r   is_filesqlite3connectstrr   creater   r   )r   pathfile_existss      r   openzFileStorage.open6   st     }}llnOOCIqER	KKMKKMYY 	(IIh'	( 	( 	(s   A2B%4B	B%B"B%c                 J   K   t        j                  | j                         y wr   )osremover   )r   s    r   deletezFileStorage.deleteD   s     
		$-- s   !#)__name__
__module____qualname__r   r!   r   r   r   r%   r)   __classcell__)r   s   @r   r   r      s-    NDS D4 D
"(!r   r   )loggingr'   r   pathlibr   sqlite_storager   	getLoggerr*   logr    r   r   <module>r4      s4   &  	   )g!(!- (!r   