warp-beacon 2.7.1__tar.gz → 2.7.3__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.
Files changed (70) hide show
  1. {warp_beacon-2.7.1/warp_beacon.egg-info → warp_beacon-2.7.3}/PKG-INFO +1 -1
  2. warp_beacon-2.7.3/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/utils.py +2 -2
  4. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/youtube/abstract.py +3 -3
  5. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/download_status.py +4 -1
  6. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/progress_bar.py +8 -2
  7. {warp_beacon-2.7.1 → warp_beacon-2.7.3/warp_beacon.egg-info}/PKG-INFO +1 -1
  8. warp_beacon-2.7.1/warp_beacon/__version__.py +0 -2
  9. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/LICENSE +0 -0
  10. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/MANIFEST.in +0 -0
  11. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/README.md +0 -0
  12. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/assets/cc-group-black.png +0 -0
  13. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/assets/placeholder.gif +0 -0
  14. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/etc/.gitignore +0 -0
  15. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/etc/accounts.json +0 -0
  16. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/etc/proxies.json +0 -0
  17. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/etc/warp_beacon.conf +0 -0
  18. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/etc/warp_beacon.service +0 -0
  19. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/pyproject.toml +0 -0
  20. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/setup.cfg +0 -0
  21. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/setup.py +0 -0
  22. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/__init__.py +0 -0
  23. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/compress/__init__.py +0 -0
  24. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/compress/video.py +0 -0
  25. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/jobs/__init__.py +0 -0
  26. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/jobs/abstract.py +0 -0
  27. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/jobs/download_job.py +0 -0
  28. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/jobs/types.py +0 -0
  29. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/jobs/upload_job.py +0 -0
  30. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/mediainfo/__init__.py +0 -0
  31. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/mediainfo/abstract.py +0 -0
  32. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/mediainfo/audio.py +0 -0
  33. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/mediainfo/silencer.py +0 -0
  34. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/mediainfo/video.py +0 -0
  35. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scheduler/__init__.py +0 -0
  36. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scheduler/instagram_human.py +0 -0
  37. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scheduler/scheduler.py +0 -0
  38. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/__init__.py +0 -0
  39. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/abstract.py +0 -0
  40. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/account_selector.py +0 -0
  41. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/exceptions.py +0 -0
  42. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/fail_handler.py +0 -0
  43. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/instagram/__init__.py +0 -0
  44. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/instagram/captcha.py +0 -0
  45. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/instagram/instagram.py +0 -0
  46. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/instagram/wb_instagrapi.py +0 -0
  47. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/link_resolver.py +0 -0
  48. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/youtube/__init__.py +0 -0
  49. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/youtube/music.py +0 -0
  50. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/youtube/shorts.py +0 -0
  51. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/scraper/youtube/youtube.py +0 -0
  52. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/storage/__init__.py +0 -0
  53. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/storage/mongo.py +0 -0
  54. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/__init__.py +0 -0
  55. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/bot.py +0 -0
  56. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/caption_shortener.py +0 -0
  57. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/edit_message.py +0 -0
  58. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/handlers.py +0 -0
  59. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/placeholder_message.py +0 -0
  60. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/progress_file_reader.py +0 -0
  61. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/types.py +0 -0
  62. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/telegram/utils.py +0 -0
  63. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/uploader/__init__.py +0 -0
  64. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/warp_beacon.py +0 -0
  65. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon/yt_auth.py +0 -0
  66. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon.egg-info/SOURCES.txt +0 -0
  67. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon.egg-info/dependency_links.txt +0 -0
  68. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon.egg-info/entry_points.txt +0 -0
  69. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon.egg-info/requires.txt +0 -0
  70. {warp_beacon-2.7.1 → warp_beacon-2.7.3}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warp_beacon
3
- Version: 2.7.1
3
+ Version: 2.7.3
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -0,0 +1,2 @@
1
+ __version__ = "2.7.3"
2
+
@@ -4,7 +4,7 @@ from fake_useragent import UserAgent
4
4
 
5
5
  class ScraperUtils(object):
6
6
  @staticmethod
7
- def get_ua_dict(browsers: list = ['Facebook', 'Android'], platforms: list = ['mobile', 'tablet'], os: list =['Android']) -> dict:
7
+ def get_ua_dict(browsers: list = None, platforms: list = ['mobile', 'tablet'], os: list = ['Android']) -> dict:
8
8
  random_client = None
9
9
  try:
10
10
  ua = UserAgent(browsers=browsers, platforms=platforms, os=os)
@@ -16,5 +16,5 @@ class ScraperUtils(object):
16
16
  return random_client
17
17
 
18
18
  @staticmethod
19
- def get_ua(browsers: list = ['Facebook', 'Android'], platforms: list = ['mobile', 'tablet'], os: list =['Android']) -> str:
19
+ def get_ua(browsers: list = None, platforms: list = ['mobile', 'tablet'], os: list = ['Android']) -> str:
20
20
  return ScraperUtils.get_ua_dict(browsers=browsers, platforms=platforms, os=os)["useragent"]
@@ -66,7 +66,6 @@ class YoutubeAbstract(ScraperAbstract):
66
66
 
67
67
  # avoid task acquiring in parallel worker
68
68
  self.yt_validate_event.clear()
69
- #time.sleep(35)
70
69
 
71
70
  return 0
72
71
 
@@ -233,14 +232,15 @@ class YoutubeAbstract(ScraperAbstract):
233
232
  return
234
233
  bytes_downloaded = total_size - bytes_remaining
235
234
  percentage_of_completion = bytes_downloaded / (total_size or 1) * 100
236
- if total_size == 0 or percentage_of_completion >= self._download_progress_threshold:
235
+ if total_size == 0 or percentage_of_completion == 0 or percentage_of_completion >= self._download_progress_threshold:
237
236
  msg = {
238
237
  "action": "report_download_status",
239
238
  "current": bytes_downloaded,
240
239
  "total": total_size,
241
240
  "message_id": self.job.placeholder_message_id,
242
241
  "chat_id": self.job.chat_id,
243
- "completed": percentage_of_completion >= 100
242
+ "completed": percentage_of_completion >= 100,
243
+ "media_type": stream.type
244
244
  }
245
245
  self.status_pipe.send(msg)
246
246
  logging.debug("[Download worker] Downloaded %d%%", percentage_of_completion)
@@ -16,12 +16,15 @@ class DownloadStatus(object):
16
16
  self.status_pipe, self.child_conn = Pipe()
17
17
 
18
18
  async def handle_message(self, msg: dict, progress_bar: ProgressBar) -> None:
19
+ op = "Downloading"
20
+ if msg.get("media_type", None):
21
+ op += f" {msg['media_type']}"
19
22
  await progress_bar.progress_callback(
20
23
  current=msg.get("current", 0),
21
24
  total=msg.get("total", 0),
22
25
  message_id=msg.get("message_id", 0),
23
26
  chat_id=msg.get("chat_id", 0),
24
- operation="Downloading",
27
+ operation=op,
25
28
  report_type=msg.get("report_type", ReportType.PROGRESS),
26
29
  label=msg.get("label", "")
27
30
  )
@@ -15,6 +15,7 @@ class ProgressBar(object):
15
15
  self._next_threshold = 5
16
16
  self.client = client
17
17
  self.complete = False
18
+ self.rendered_text = ""
18
19
 
19
20
  def is_complete(self) -> bool:
20
21
  return self.complete
@@ -104,13 +105,18 @@ class ProgressBar(object):
104
105
  pbar = self.make_emoji_progress_bar(percent, 10)
105
106
  logging.info("[Progress bar]: Operation: %s %d%%", operation, percent)
106
107
  try:
107
- # we don't need to wait completion, waste of time and resources
108
108
  text = f"{pbar}\n{operation}"
109
109
  if label:
110
110
  text += f"\n<code>{label}</code>"
111
111
  if total:
112
112
  text += f" <b>{self.format_size_si(total)}</b>"
113
+
114
+ # avoid duplicate render
115
+ if text == f"{chat_id}:{message_id}:{text}":
116
+ return
117
+
113
118
  await self.client.edit_message_caption(chat_id, message_id, text, ParseMode.HTML)
119
+ self.rendered_text = f"{chat_id}:{message_id}:{text}"
114
120
  #task = self.client.loop.create_task(
115
121
  # self.client.edit_message_caption(chat_id, message_id, text, ParseMode.HTML)
116
122
  #)
@@ -120,7 +126,7 @@ class ProgressBar(object):
120
126
  except Exception as e:
121
127
  logging.warning("An error occurred while setup task to update progress bar")
122
128
  logging.exception(e)
123
- if total > 0:
129
+ if total > 0 and percent != 0:
124
130
  self._next_threshold += 5
125
131
 
126
132
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warp_beacon
3
- Version: 2.7.1
3
+ Version: 2.7.3
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -1,2 +0,0 @@
1
- __version__ = "2.7.1"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes