warp-beacon 2.8.18__tar.gz → 2.8.19__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.8.18/warp_beacon.egg-info → warp_beacon-2.8.19}/PKG-INFO +1 -1
- warp_beacon-2.8.19/warp_beacon/__version__.py +2 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/X/X.py +3 -3
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/bot.py +20 -20
- {warp_beacon-2.8.18 → warp_beacon-2.8.19/warp_beacon.egg-info}/PKG-INFO +1 -1
- warp_beacon-2.8.18/warp_beacon/__version__.py +0 -2
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/LICENSE +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/MANIFEST.in +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/README.md +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/assets/cc-group-black.png +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/assets/placeholder.gif +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/etc/.gitignore +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/etc/accounts.json +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/etc/proxies.json +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/etc/warp_beacon.conf +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/etc/warp_beacon.service +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/pyproject.toml +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/setup.cfg +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/setup.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/compress/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/compress/video.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/jobs/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/jobs/abstract.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/jobs/download_job.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/jobs/types.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/jobs/upload_job.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/mediainfo/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/mediainfo/abstract.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/mediainfo/audio.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/mediainfo/silencer.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/mediainfo/video.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scheduler/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scheduler/instagram_human.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scheduler/scheduler.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/X/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/X/abstract.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/X/types.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/abstract.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/account_selector.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/exceptions.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/fail_handler.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/instagram/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/instagram/captcha.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/instagram/instagram.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/instagram/wb_instagrapi.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/link_resolver.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/utils.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/youtube/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/youtube/abstract.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/youtube/music.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/youtube/shorts.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/scraper/youtube/youtube.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/storage/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/storage/mongo.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/caption_shortener.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/download_status.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/edit_message.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/handlers.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/placeholder_message.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/progress_bar.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/progress_file_reader.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/types.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/telegram/utils.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/uploader/__init__.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/warp_beacon.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon/yt_auth.py +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon.egg-info/SOURCES.txt +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon.egg-info/dependency_links.txt +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon.egg-info/entry_points.txt +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon.egg-info/requires.txt +0 -0
- {warp_beacon-2.8.18 → warp_beacon-2.8.19}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -20,10 +20,10 @@ class XScraper(XAbstract):
|
|
20
20
|
def extract_canonical_name(self, media: dict) -> str:
|
21
21
|
ret = ""
|
22
22
|
try:
|
23
|
-
if media.get("
|
24
|
-
ret = media["title"]
|
25
|
-
elif media.get("description"):
|
23
|
+
if media.get("description"):
|
26
24
|
ret = media["description"]
|
25
|
+
elif media.get("title"):
|
26
|
+
ret = media["title"]
|
27
27
|
except Exception as e:
|
28
28
|
logging.warning("Failed to extract canonical media name!")
|
29
29
|
logging.exception(e)
|
@@ -222,11 +222,11 @@ class Bot(object):
|
|
222
222
|
if job.source_username.startswith("<a href="):
|
223
223
|
caption += f"Requested by <b>{job.source_username}</b>"
|
224
224
|
else:
|
225
|
-
caption += f"Requested by <b>@{job.source_username}</b>"
|
225
|
+
caption += f"Requested by <b>@{html.escape(job.source_username)}</b>"
|
226
226
|
if job.source_username and job.url:
|
227
227
|
caption += " | "
|
228
228
|
if job.url:
|
229
|
-
caption += f'<a href="{job.url}">source link</a>'
|
229
|
+
caption += f'<a href="{html.escape(job.url)}">source link</a>'
|
230
230
|
|
231
231
|
return caption
|
232
232
|
|
@@ -238,11 +238,11 @@ class Bot(object):
|
|
238
238
|
args["media"] = InputMediaVideo(
|
239
239
|
media=job.tg_file_id.replace(":video", ''),
|
240
240
|
supports_streaming=True,
|
241
|
-
caption=self.build_signature_caption(job)
|
241
|
+
caption=self.build_signature_caption(job, job.message_text)
|
242
242
|
)
|
243
243
|
else:
|
244
244
|
args["video"] = job.tg_file_id.replace(":video", '')
|
245
|
-
args["caption"] = self.build_signature_caption(job)
|
245
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
246
246
|
else:
|
247
247
|
if job.placeholder_message_id:
|
248
248
|
args["media"] = InputMediaVideo(
|
@@ -252,7 +252,7 @@ class Bot(object):
|
|
252
252
|
height=job.media_info["height"],
|
253
253
|
duration=round(job.media_info["duration"]),
|
254
254
|
thumb=job.media_info["thumb"],
|
255
|
-
caption=self.build_signature_caption(job)
|
255
|
+
caption=self.build_signature_caption(job, job.message_text)
|
256
256
|
)
|
257
257
|
else:
|
258
258
|
args["video"] = job.local_media_path
|
@@ -261,7 +261,7 @@ class Bot(object):
|
|
261
261
|
args["height"] = job.media_info["height"]
|
262
262
|
args["duration"] = round(job.media_info["duration"])
|
263
263
|
args["thumb"] = job.media_info["thumb"]
|
264
|
-
args["caption"] = self.build_signature_caption(job)
|
264
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
265
265
|
|
266
266
|
args["file_name"] = os.path.basename(job.local_media_path)
|
267
267
|
elif job.media_type == JobType.IMAGE:
|
@@ -269,20 +269,20 @@ class Bot(object):
|
|
269
269
|
if job.placeholder_message_id:
|
270
270
|
args["media"] = InputMediaPhoto(
|
271
271
|
media=job.tg_file_id.replace(":image", ''),
|
272
|
-
caption=self.build_signature_caption(job)
|
272
|
+
caption=self.build_signature_caption(job, job.message_text)
|
273
273
|
)
|
274
274
|
else:
|
275
275
|
args["photo"] = job.tg_file_id.replace(":image", '')
|
276
|
-
args["caption"] = self.build_signature_caption(job)
|
276
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
277
277
|
else:
|
278
278
|
if job.placeholder_message_id:
|
279
279
|
args["media"] = InputMediaPhoto(
|
280
280
|
media=job.local_media_path,
|
281
|
-
caption=self.build_signature_caption(job)
|
281
|
+
caption=self.build_signature_caption(job, job.message_text)
|
282
282
|
)
|
283
283
|
else:
|
284
284
|
args["photo"] = job.local_media_path
|
285
|
-
args["caption"] = self.build_signature_caption(job)
|
285
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
286
286
|
|
287
287
|
args["file_name"] = os.path.basename(job.local_media_path)
|
288
288
|
elif job.media_type == JobType.AUDIO:
|
@@ -290,7 +290,7 @@ class Bot(object):
|
|
290
290
|
if job.placeholder_message_id:
|
291
291
|
args["media"] = InputMediaAudio(
|
292
292
|
media=job.tg_file_id.replace(":audio", ''),
|
293
|
-
caption=self.build_signature_caption(job)
|
293
|
+
caption=self.build_signature_caption(job, job.message_text)
|
294
294
|
)
|
295
295
|
else:
|
296
296
|
args["audio"] = job.tg_file_id.replace(":audio", '')
|
@@ -302,7 +302,7 @@ class Bot(object):
|
|
302
302
|
thumb=job.media_info["thumb"],
|
303
303
|
duration=round(job.media_info["duration"]),
|
304
304
|
title=job.canonical_name,
|
305
|
-
caption=self.build_signature_caption(job)
|
305
|
+
caption=self.build_signature_caption(job, job.message_text)
|
306
306
|
)
|
307
307
|
else:
|
308
308
|
args["audio"] = job.local_media_path
|
@@ -310,7 +310,7 @@ class Bot(object):
|
|
310
310
|
args["thumb"] = job.media_info["thumb"]
|
311
311
|
args["duration"] = round(job.media_info["duration"])
|
312
312
|
args["title"] = job.canonical_name
|
313
|
-
args["caption"] = self.build_signature_caption(job)
|
313
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
314
314
|
|
315
315
|
args["file_name"] = os.path.basename(job.local_media_path)
|
316
316
|
elif job.media_type == JobType.ANIMATION:
|
@@ -318,11 +318,11 @@ class Bot(object):
|
|
318
318
|
if job.placeholder_message_id:
|
319
319
|
args["media"] = InputMediaAnimation(
|
320
320
|
media=job.tg_file_id.replace(":animation", ''),
|
321
|
-
caption=self.build_signature_caption(job)
|
321
|
+
caption=self.build_signature_caption(job, job.message_text)
|
322
322
|
)
|
323
323
|
else:
|
324
324
|
args["animation"] = job.tg_file_id.replace(":animation", '')
|
325
|
-
args["caption"] = self.build_signature_caption(job)
|
325
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
326
326
|
else:
|
327
327
|
if job.placeholder_message_id:
|
328
328
|
args["media"] = InputMediaAnimation(
|
@@ -331,7 +331,7 @@ class Bot(object):
|
|
331
331
|
duration=round(job.media_info["duration"]),
|
332
332
|
width=job.media_info["width"],
|
333
333
|
height=job.media_info["height"],
|
334
|
-
caption=self.build_signature_caption(job)
|
334
|
+
caption=self.build_signature_caption(job, job.message_text)
|
335
335
|
)
|
336
336
|
else:
|
337
337
|
args["animation"] = job.local_media_path
|
@@ -339,7 +339,7 @@ class Bot(object):
|
|
339
339
|
args["height"] = job.media_info["height"]
|
340
340
|
args["duration"] = round(job.media_info["duration"])
|
341
341
|
args["thumb"] = job.media_info["thumb"]
|
342
|
-
args["caption"] = self.build_signature_caption(job)
|
342
|
+
args["caption"] = self.build_signature_caption(job, job.message_text)
|
343
343
|
|
344
344
|
args["file_name"] = os.path.basename(job.local_media_path)
|
345
345
|
elif job.media_type == JobType.COLLECTION:
|
@@ -352,11 +352,11 @@ class Bot(object):
|
|
352
352
|
ctype = JobType[mtype.upper()]
|
353
353
|
ptr = None
|
354
354
|
if ctype == JobType.VIDEO:
|
355
|
-
ptr = InputMediaVideo(media=tg_id, caption=self.build_signature_caption(job))
|
355
|
+
ptr = InputMediaVideo(media=tg_id, caption=self.build_signature_caption(job, job.message_text))
|
356
356
|
elif ctype == JobType.IMAGE:
|
357
|
-
ptr = InputMediaPhoto(media=tg_id, caption=self.build_signature_caption(job))
|
357
|
+
ptr = InputMediaPhoto(media=tg_id, caption=self.build_signature_caption(job, job.message_text))
|
358
358
|
elif ctype == JobType.ANIMATION:
|
359
|
-
ptr = InputMediaAnimation(media=tg_id, caption=self.build_signature_caption(job))
|
359
|
+
ptr = InputMediaAnimation(media=tg_id, caption=self.build_signature_caption(job, job.message_text))
|
360
360
|
tg_chunk.append(ptr)
|
361
361
|
|
362
362
|
args["media"].append(tg_chunk)
|
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
|
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
|