warp-beacon 2.0.7__tar.gz → 2.0.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {warp_beacon-2.0.7/warp_beacon.egg-info → warp_beacon-2.0.9}/PKG-INFO +1 -1
- warp_beacon-2.0.9/warp_beacon/__version__.py +2 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/telegram/bot.py +15 -13
- {warp_beacon-2.0.7 → warp_beacon-2.0.9/warp_beacon.egg-info}/PKG-INFO +1 -1
- warp_beacon-2.0.7/warp_beacon/__version__.py +0 -2
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/LICENSE +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/MANIFEST.in +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/README.md +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/assets/placeholder.gif +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/etc/.gitignore +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/etc/warp_beacon.conf +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/etc/warp_beacon.service +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/pyproject.toml +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/setup.cfg +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/setup.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/compress/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/compress/video.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/jobs/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/jobs/abstract.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/jobs/download_job.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/jobs/types.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/jobs/upload_job.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/mediainfo/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/mediainfo/abstract.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/mediainfo/audio.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/mediainfo/silencer.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/mediainfo/video.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/abstract.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/exceptions.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/instagram.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/youtube/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/youtube/abstract.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/youtube/music.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/youtube/shorts.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/scraper/youtube/youtube.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/storage/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/telegram/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/telegram/handlers.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/telegram/placeholder_message.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/telegram/utils.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/uploader/__init__.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon/warp_beacon.py +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon.egg-info/SOURCES.txt +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon.egg-info/dependency_links.txt +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon.egg-info/entry_points.txt +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon.egg-info/requires.txt +0 -0
- {warp_beacon-2.0.7 → warp_beacon-2.0.9}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -155,7 +155,7 @@ class Bot(object):
|
|
155
155
|
supports_streaming=True,
|
156
156
|
width=job.media_info["width"],
|
157
157
|
height=job.media_info["height"],
|
158
|
-
duration=job.media_info["duration"],
|
158
|
+
duration=round(job.media_info["duration"]),
|
159
159
|
thumb=job.media_info["thumb"]
|
160
160
|
)
|
161
161
|
else:
|
@@ -163,7 +163,7 @@ class Bot(object):
|
|
163
163
|
args["supports_streaming"] = True
|
164
164
|
args["width"] = job.media_info["width"]
|
165
165
|
args["height"] = job.media_info["height"]
|
166
|
-
args["duration"] = job.media_info["duration"]
|
166
|
+
args["duration"] = round(job.media_info["duration"])
|
167
167
|
args["thumb"] = job.media_info["thumb"]
|
168
168
|
|
169
169
|
args["file_name"] = "downloaded_via_warp_beacon_bot%s" % (os.path.splitext(job.local_media_path)[-1])
|
@@ -194,14 +194,14 @@ class Bot(object):
|
|
194
194
|
media=job.local_media_path,
|
195
195
|
performer=job.media_info["performer"],
|
196
196
|
thumb=job.media_info["thumb"],
|
197
|
-
duration=job.media_info["duration"],
|
197
|
+
duration=round(job.media_info["duration"]),
|
198
198
|
title=job.canonical_name,
|
199
199
|
)
|
200
200
|
else:
|
201
201
|
args["audio"] = job.local_media_path
|
202
202
|
args["performer"] = job.media_info["performer"]
|
203
203
|
args["thumb"] = job.media_info["thumb"]
|
204
|
-
args["duration"] = job.media_info["duration"]
|
204
|
+
args["duration"] = round(job.media_info["duration"])
|
205
205
|
args["title"] = job.canonical_name
|
206
206
|
#args["file_name"] = "%s%s" % (job.canonical_name, os.path.splitext(job.local_media_path)[-1]),
|
207
207
|
elif job.media_type == JobType.ANIMATION:
|
@@ -217,7 +217,7 @@ class Bot(object):
|
|
217
217
|
args["media"] = InputMediaAnimation(
|
218
218
|
media=job.local_media_path,
|
219
219
|
thumb=job.media_info["thumb"],
|
220
|
-
duration=job.media_info["duration"],
|
220
|
+
duration=round(job.media_info["duration"]),
|
221
221
|
width=job.media_info["width"],
|
222
222
|
height=job.media_info["height"]
|
223
223
|
)
|
@@ -225,7 +225,7 @@ class Bot(object):
|
|
225
225
|
args["animation"] = job.local_media_path
|
226
226
|
args["width"] = job.media_info["width"]
|
227
227
|
args["height"] = job.media_info["height"]
|
228
|
-
args["duration"] = job.media_info["duration"]
|
228
|
+
args["duration"] = round(job.media_info["duration"])
|
229
229
|
args["thumb"] = job.media_info["thumb"]
|
230
230
|
elif job.media_type == JobType.COLLECTION:
|
231
231
|
if job.tg_file_id:
|
@@ -256,7 +256,7 @@ class Bot(object):
|
|
256
256
|
supports_streaming=True,
|
257
257
|
width=j.media_info["width"],
|
258
258
|
height=j.media_info["height"],
|
259
|
-
duration=
|
259
|
+
duration=round(j.media_info["duration"]),
|
260
260
|
thumb=j.media_info["thumb"],
|
261
261
|
)
|
262
262
|
tg_chunk.append(vid)
|
@@ -290,7 +290,7 @@ class Bot(object):
|
|
290
290
|
while not retry_amount >= max_retries:
|
291
291
|
try:
|
292
292
|
reply_message = None
|
293
|
-
if job.media_type in (JobType.VIDEO, JobType.IMAGE, JobType.AUDIO):
|
293
|
+
if job.media_type in (JobType.VIDEO, JobType.IMAGE, JobType.AUDIO, JobType.ANIMATION):
|
294
294
|
if job.placeholder_message_id:
|
295
295
|
try:
|
296
296
|
reply_message = await self.client.edit_message_media(**self.build_tg_args(job))
|
@@ -351,16 +351,18 @@ class Bot(object):
|
|
351
351
|
await self.placeholder.remove(job.chat_id, job.placeholder_message_id)
|
352
352
|
await self.send_text(job.chat_id, e.MESSAGE, job.message_id)
|
353
353
|
break
|
354
|
-
except (NetworkMigrate, BadRequest) as e:
|
354
|
+
except (NetworkMigrate, BadRequest, AttributeError) as e:
|
355
|
+
import traceback
|
355
356
|
logging.error("Network error. Check you Internet connection.")
|
356
357
|
logging.exception(e)
|
357
358
|
|
358
359
|
if retry_amount+1 >= max_retries:
|
359
360
|
msg = ""
|
360
|
-
if e.MESSAGE:
|
361
|
+
if hasattr(e, "MESSAGE") and e.MESSAGE:
|
361
362
|
msg = "Telegram error: %s" % str(e.MESSAGE)
|
362
363
|
else:
|
363
|
-
msg = "
|
364
|
+
msg = (f"Unknown Telegram error. Known information:\n```python\n{traceback.format_exc().strip()}```"
|
365
|
+
"\nPlease [create issue](https://github.com/sb0y/warp_beacon/issues) with this info and service logs.")
|
364
366
|
await self.placeholder.remove(job.chat_id, job.placeholder_message_id)
|
365
367
|
await self.send_text(job.chat_id, msg, job.message_id)
|
366
368
|
break
|
@@ -368,7 +370,7 @@ class Bot(object):
|
|
368
370
|
except Exception as e:
|
369
371
|
logging.error("Error occurred!")
|
370
372
|
logging.exception(e)
|
371
|
-
|
372
|
-
|
373
|
+
finally:
|
374
|
+
job.remove_files()
|
373
375
|
|
374
376
|
return tg_file_ids
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|