mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-10-31 07:57:38 +03:00 
			
		
		
		
	Small cleanup of the Session class
This commit is contained in:
		
							parent
							
								
									664417b409
								
							
						
					
					
						commit
						0a4849b150
					
				|  | @ -23,37 +23,34 @@ class Session: | |||
|        If you think the session has been compromised, close all the sessions | ||||
|        through an official Telegram client to revoke the authorization. | ||||
|     """ | ||||
|     def __init__(self, session_user_id): | ||||
|     def __init__(self, session_id): | ||||
|         """session_user_id should either be a string or another Session. | ||||
|            Note that if another session is given, only parameters like | ||||
|            those required to init a connection will be copied. | ||||
|         """ | ||||
|         # These values will NOT be saved | ||||
|         self.filename = ':memory:' | ||||
|         if isinstance(session_user_id, Session): | ||||
|             self.session_user_id = None | ||||
| 
 | ||||
|             # For connection purposes | ||||
|             session = session_user_id | ||||
|             self.device_model = session.device_model | ||||
|             self.system_version = session.system_version | ||||
|             self.app_version = session.app_version | ||||
|             self.lang_code = session.lang_code | ||||
|             self.system_lang_code = session.system_lang_code | ||||
|             self.lang_pack = session.lang_pack | ||||
|             self.report_errors = session.report_errors | ||||
|             self.save_entities = session.save_entities | ||||
|             self.flood_sleep_threshold = session.flood_sleep_threshold | ||||
| 
 | ||||
|         # For connection purposes | ||||
|         if isinstance(session_id, Session): | ||||
|             self.device_model = session_id.device_model | ||||
|             self.system_version = session_id.system_version | ||||
|             self.app_version = session_id.app_version | ||||
|             self.lang_code = session_id.lang_code | ||||
|             self.system_lang_code = session_id.system_lang_code | ||||
|             self.lang_pack = session_id.lang_pack | ||||
|             self.report_errors = session_id.report_errors | ||||
|             self.save_entities = session_id.save_entities | ||||
|             self.flood_sleep_threshold = session_id.flood_sleep_threshold | ||||
|         else:  # str / None | ||||
|             if session_user_id: | ||||
|                 self.filename = session_user_id | ||||
|             if session_id: | ||||
|                 self.filename = session_id | ||||
|                 if not self.filename.endswith(EXTENSION): | ||||
|                     self.filename += EXTENSION | ||||
| 
 | ||||
|             system = platform.uname() | ||||
|             self.device_model = system.system if system.system else 'Unknown' | ||||
|             self.system_version = system.release if system.release else '1.0' | ||||
|             self.device_model = system.system or 'Unknown' | ||||
|             self.system_version = system.release or '1.0' | ||||
|             self.app_version = '1.0'  # '0' will provoke error | ||||
|             self.lang_code = 'en' | ||||
|             self.system_lang_code = self.lang_code | ||||
|  | @ -62,6 +59,16 @@ class Session: | |||
|             self.save_entities = True | ||||
|             self.flood_sleep_threshold = 60 | ||||
| 
 | ||||
|         self.id = helpers.generate_random_long(signed=True) | ||||
|         self._sequence = 0 | ||||
|         self.time_offset = 0 | ||||
|         self._last_msg_id = 0  # Long | ||||
| 
 | ||||
|         # Cross-thread safety | ||||
|         self._seq_no_lock = Lock() | ||||
|         self._msg_id_lock = Lock() | ||||
|         self._db_lock = Lock() | ||||
| 
 | ||||
|         # These values will be saved | ||||
|         self._server_address = None | ||||
|         self._port = None | ||||
|  | @ -70,11 +77,6 @@ class Session: | |||
|         self._salt = 0  # Signed long | ||||
|         self.entities = EntityDatabase()  # Known and cached entities | ||||
| 
 | ||||
|         # Cross-thread safety | ||||
|         self._seq_no_lock = Lock() | ||||
|         self._msg_id_lock = Lock() | ||||
|         self._db_lock = Lock() | ||||
| 
 | ||||
|         # Migrating from .json -> SQL | ||||
|         self._check_migrate_json() | ||||
| 
 | ||||
|  | @ -123,11 +125,6 @@ class Session: | |||
|             c.close() | ||||
|             self.save() | ||||
| 
 | ||||
|         self.id = helpers.generate_random_long(signed=True) | ||||
|         self._sequence = 0 | ||||
|         self.time_offset = 0 | ||||
|         self._last_msg_id = 0  # Long | ||||
| 
 | ||||
|     def _check_migrate_json(self): | ||||
|         if file_exists(self.filename): | ||||
|             try: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user