Spaces:
Running
Running
Commit
·
eb81f74
1
Parent(s):
e55d3e3
Code Updates & SeveralFixes
Browse files
FileStream/__main__.py
CHANGED
@@ -58,7 +58,7 @@ async def start_services():
|
|
58 |
print("------------------------------ DONE ------------------------------\n\n")
|
59 |
|
60 |
# Start the background task to clear inactive clients after web server setup
|
61 |
-
asyncio.create_task(clear_inactive_clients()) # Now this works as event loop is running
|
62 |
|
63 |
print(
|
64 |
f"------------------------- Service Started -------------------------\n"
|
|
|
58 |
print("------------------------------ DONE ------------------------------\n\n")
|
59 |
|
60 |
# Start the background task to clear inactive clients after web server setup
|
61 |
+
#asyncio.create_task(clear_inactive_clients()) # Now this works as event loop is running
|
62 |
|
63 |
print(
|
64 |
f"------------------------- Service Started -------------------------\n"
|
FileStream/utils/FileProcessors/custom_mix.py
CHANGED
@@ -81,22 +81,21 @@ class TGFileController:
|
|
81 |
|
82 |
async def get_file_properties(self, db_id: str, MULTI_CLIENTS) -> FileId:
|
83 |
"""
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
if not db_id in self.cached_file_ids:
|
89 |
logging.debug("Before Calling generate_file_properties")
|
90 |
await self.generate_file_properties(db_id, MULTI_CLIENTS)
|
91 |
logging.debug(f"Cached file properties for file with ID {db_id}")
|
92 |
return self.cached_file_ids[db_id]
|
93 |
|
94 |
-
async def generate_file_properties(self, db_id: str,
|
95 |
-
|
|
|
|
|
96 |
"""
|
97 |
-
Generates the properties of a media file on a specific message.
|
98 |
-
returns ths properties in a FIleId class.
|
99 |
-
"""
|
100 |
logging.debug("Before calling get_file_ids")
|
101 |
file_id = await get_file_ids(self.client, db_id, Message)
|
102 |
logging.debug(f"Generated file ID and Unique ID for file with ID {db_id}")
|
@@ -104,12 +103,11 @@ class TGFileController:
|
|
104 |
logging.debug(f"Cached media file with ID {db_id}")
|
105 |
return self.cached_file_ids[db_id]
|
106 |
|
107 |
-
async def generate_media_session(self, client: Client,
|
108 |
-
|
|
|
|
|
109 |
"""
|
110 |
-
Generates the media session for the DC that contains the media file.
|
111 |
-
This is required for getting the bytes from Telegram servers.
|
112 |
-
"""
|
113 |
|
114 |
media_session = client.media_sessions.get(file_id.dc_id, None)
|
115 |
|
@@ -157,16 +155,14 @@ class TGFileController:
|
|
157 |
return media_session
|
158 |
|
159 |
@staticmethod
|
160 |
-
async def get_location(
|
161 |
-
file_id: FileId
|
162 |
-
) -> Union[
|
163 |
raw.types.InputPhotoFileLocation,
|
164 |
raw.types.InputDocumentFileLocation,
|
165 |
raw.types.InputPeerPhotoFileLocation,
|
166 |
]:
|
167 |
"""
|
168 |
-
|
169 |
-
|
170 |
file_type = file_id.file_type
|
171 |
|
172 |
if file_type == FileType.CHAT_PHOTO:
|
|
|
81 |
|
82 |
async def get_file_properties(self, db_id: str, MULTI_CLIENTS) -> FileId:
|
83 |
"""
|
84 |
+
Returns the properties of a media of a specific message in a FIleId class.
|
85 |
+
if the properties are cached, then it'll return the cached results.
|
86 |
+
or it'll generate the properties from the Message ID and cache them.
|
87 |
+
"""
|
88 |
if not db_id in self.cached_file_ids:
|
89 |
logging.debug("Before Calling generate_file_properties")
|
90 |
await self.generate_file_properties(db_id, MULTI_CLIENTS)
|
91 |
logging.debug(f"Cached file properties for file with ID {db_id}")
|
92 |
return self.cached_file_ids[db_id]
|
93 |
|
94 |
+
async def generate_file_properties(self, db_id: str,MULTI_CLIENTS) -> FileId:
|
95 |
+
"""
|
96 |
+
Generates the properties of a media file on a specific message.
|
97 |
+
returns ths properties in a FIleId class.
|
98 |
"""
|
|
|
|
|
|
|
99 |
logging.debug("Before calling get_file_ids")
|
100 |
file_id = await get_file_ids(self.client, db_id, Message)
|
101 |
logging.debug(f"Generated file ID and Unique ID for file with ID {db_id}")
|
|
|
103 |
logging.debug(f"Cached media file with ID {db_id}")
|
104 |
return self.cached_file_ids[db_id]
|
105 |
|
106 |
+
async def generate_media_session(self, client: Client,file_id: FileId) -> Session:
|
107 |
+
"""
|
108 |
+
Generates the media session for the DC that contains the media file.
|
109 |
+
This is required for getting the bytes from Telegram servers.
|
110 |
"""
|
|
|
|
|
|
|
111 |
|
112 |
media_session = client.media_sessions.get(file_id.dc_id, None)
|
113 |
|
|
|
155 |
return media_session
|
156 |
|
157 |
@staticmethod
|
158 |
+
async def get_location(file_id: FileId) -> Union[
|
|
|
|
|
159 |
raw.types.InputPhotoFileLocation,
|
160 |
raw.types.InputDocumentFileLocation,
|
161 |
raw.types.InputPeerPhotoFileLocation,
|
162 |
]:
|
163 |
"""
|
164 |
+
Returns the file location for the media file.
|
165 |
+
"""
|
166 |
file_type = file_id.file_type
|
167 |
|
168 |
if file_type == FileType.CHAT_PHOTO:
|