B
    f’»d¾
  ã               @   sJ   d dl Z d dlZd dlZd dlZddlmZ e e¡ZG dd„ deƒZ	dS )é    Né   )ÚSQLiteStoragec                   s6   e Zd Zd	eedœ‡ fdd„Zdd„ Zdd„ Z‡  ZS )
ÚMemoryStorageN)ÚnameÚsession_stringc                s   t ƒ  |¡ || _d S )N)ÚsuperÚ__init__r   )Úselfr   r   )Ú	__class__© úC/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/storage/memory_storage.pyr      s    zMemoryStorage.__init__c          	   Ã   s˜  t jddd| _|  ¡  | jr”t| jƒ| j| jgkrît 	t| jƒ| jkrP| j
n| jt | jdt| jƒ d   ¡¡\}}}}}|  |¡I d H  |  |¡I d H  |  |¡I d H  |  |¡I d H  |  |¡I d H  |  d¡I d H  t d¡ d S t 	| jt | jdt| jƒ d   ¡¡\}}}}}}|  |¡I d H  |  |¡I d H  |  |¡I d H  |  |¡I d H  |  |¡I d H  |  |¡I d H  |  d¡I d H  d S )Nz:memory:F)Zcheck_same_threadú=é   r   zOYou are using an old session string format. Use export_session_string to update)Úsqlite3ÚconnectÚconnÚcreater   ÚlenZSESSION_STRING_SIZEZSESSION_STRING_SIZE_64ÚstructÚunpackZOLD_SESSION_STRING_FORMATZOLD_SESSION_STRING_FORMAT_64Úbase64Úurlsafe_b64decodeÚdc_idÚ	test_modeÚauth_keyÚuser_idÚis_botÚdateÚlogÚwarningZSESSION_STRING_FORMATÚapi_id)r	   r   r   r   r   r   r    r   r   r   Úopen#   s4    ,
.zMemoryStorage.openc             Ã   s   d S )Nr   )r	   r   r   r   ÚdeleteH   s    zMemoryStorage.delete)N)Ú__name__Ú
__module__Ú__qualname__Ústrr   r!   r"   Ú__classcell__r   r   )r
   r   r      s   %r   )
r   Úloggingr   r   Zsqlite_storager   Ú	getLoggerr#   r   r   r   r   r   r   Ú<module>   s   
