warp-beacon 2.6.26__tar.gz → 2.6.28__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 (62) hide show
  1. {warp_beacon-2.6.26/warp_beacon.egg-info → warp_beacon-2.6.28}/PKG-INFO +1 -1
  2. warp_beacon-2.6.28/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/__init__.py +13 -6
  4. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/abstract.py +3 -2
  5. {warp_beacon-2.6.26 → warp_beacon-2.6.28/warp_beacon.egg-info}/PKG-INFO +1 -1
  6. warp_beacon-2.6.26/warp_beacon/__version__.py +0 -2
  7. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/LICENSE +0 -0
  8. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/MANIFEST.in +0 -0
  9. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/README.md +0 -0
  10. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/assets/placeholder.gif +0 -0
  11. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/etc/.gitignore +0 -0
  12. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/etc/accounts.json +0 -0
  13. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/etc/proxies.json +0 -0
  14. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/etc/warp_beacon.conf +0 -0
  15. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/etc/warp_beacon.service +0 -0
  16. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/pyproject.toml +0 -0
  17. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/setup.cfg +0 -0
  18. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/setup.py +0 -0
  19. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/__init__.py +0 -0
  20. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/compress/__init__.py +0 -0
  21. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/compress/video.py +0 -0
  22. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/jobs/__init__.py +0 -0
  23. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/jobs/abstract.py +0 -0
  24. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/jobs/download_job.py +0 -0
  25. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/jobs/types.py +0 -0
  26. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/jobs/upload_job.py +0 -0
  27. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/mediainfo/__init__.py +0 -0
  28. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/mediainfo/abstract.py +0 -0
  29. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/mediainfo/audio.py +0 -0
  30. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/mediainfo/silencer.py +0 -0
  31. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/mediainfo/video.py +0 -0
  32. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scheduler/__init__.py +0 -0
  33. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scheduler/instagram_human.py +0 -0
  34. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scheduler/scheduler.py +0 -0
  35. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/account_selector.py +0 -0
  36. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/exceptions.py +0 -0
  37. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/fail_handler.py +0 -0
  38. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/instagram/__init__.py +0 -0
  39. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/instagram/captcha.py +0 -0
  40. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/instagram/instagram.py +0 -0
  41. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/link_resolver.py +0 -0
  42. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/youtube/__init__.py +0 -0
  43. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/youtube/abstract.py +0 -0
  44. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/youtube/music.py +0 -0
  45. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/youtube/shorts.py +0 -0
  46. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/scraper/youtube/youtube.py +0 -0
  47. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/storage/__init__.py +0 -0
  48. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/storage/mongo.py +0 -0
  49. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/__init__.py +0 -0
  50. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/bot.py +0 -0
  51. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/caption_shortener.py +0 -0
  52. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/handlers.py +0 -0
  53. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/placeholder_message.py +0 -0
  54. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/telegram/utils.py +0 -0
  55. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/uploader/__init__.py +0 -0
  56. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/warp_beacon.py +0 -0
  57. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon/yt_auth.py +0 -0
  58. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon.egg-info/SOURCES.txt +0 -0
  59. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon.egg-info/dependency_links.txt +0 -0
  60. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon.egg-info/entry_points.txt +0 -0
  61. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/warp_beacon.egg-info/requires.txt +0 -0
  62. {warp_beacon-2.6.26 → warp_beacon-2.6.28}/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.6.26
3
+ Version: 2.6.28
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.6.28"
2
+
@@ -38,6 +38,7 @@ class AsyncDownloader(object):
38
38
  manager = None
39
39
  acc_selector = None
40
40
  scheduler = None
41
+ scrolling_now = None
41
42
 
42
43
  def __init__(self, uploader: AsyncUploader, workers_count: int) -> None:
43
44
  self.workers = []
@@ -45,6 +46,7 @@ class AsyncDownloader(object):
45
46
  self.auth_event = multiprocessing.Event()
46
47
  self.manager = multiprocessing.Manager()
47
48
  self.allow_loop = self.manager.Value('i', 1)
49
+ self.scrolling_now = self.manager.Value('i', 0)
48
50
  self.acc_selector = AccountSelector(self.manager, ACC_FILE, PROXY_FILE)
49
51
  self.uploader = uploader
50
52
  self.workers_count = workers_count
@@ -156,10 +158,12 @@ class AsyncDownloader(object):
156
158
  while self.allow_loop.value == 1:
157
159
  try:
158
160
  if job.scroll_content and job.last_pk and job.job_origin is Origin.INSTAGRAM:
161
+ self.scrolling_now.value = 1
159
162
  logging.info("Scrolling relative content with pk '%s'", job.last_pk)
160
163
  operations = actor.scroll_content(last_pk=job.last_pk)
161
164
  if operations:
162
165
  selector.inc_ig_request_count(amount=operations)
166
+ self.scrolling_now.value = 0
163
167
  logging.info("Scrolling done")
164
168
  break
165
169
  if job.session_validation and job.job_origin in (Origin.INSTAGRAM, Origin.YOUTUBE):
@@ -382,12 +386,15 @@ class AsyncDownloader(object):
382
386
  else:
383
387
  self.uploader.queue_task(upload_job)
384
388
  # watch related reels to simulate human
385
- if item.get("last_pk", 0) and "reel/" in job.url:
386
- self.queue_task(DownloadJob.build(
387
- scroll_content=True,
388
- last_pk=int(item.get("last_pk", 0)),
389
- job_origin=Origin.INSTAGRAM
390
- ))
389
+ if self.scrolling_now.value == 0:
390
+ if item.get("last_pk", 0) and "reel/" in job.url:
391
+ self.queue_task(DownloadJob.build(
392
+ scroll_content=True,
393
+ last_pk=int(item.get("last_pk", 0)),
394
+ job_origin=Origin.INSTAGRAM
395
+ ))
396
+ else:
397
+ logging.info("Scrolling in progress, ignoring request")
391
398
  else:
392
399
  logging.info("Job already in work in parallel worker. Redirecting job to upload worker.")
393
400
  self.uploader.queue_task(job.to_upload_job())
@@ -27,8 +27,8 @@ class ScraperAbstract(ABC):
27
27
  self.account_index = account[0]
28
28
  self.account = account[1]
29
29
  self.proxy = proxy
30
- if self.account.get("force_ipv6", False):
31
- self.force_ipv6()
30
+ #if self.account.get("force_ipv6", False):
31
+ # self.force_ipv6()
32
32
 
33
33
  #def __del__(self) -> None:
34
34
  # if self.account.get("force_ipv6", False):
@@ -95,6 +95,7 @@ class ScraperAbstract(ABC):
95
95
  urllib3_cn.allowed_gai_family = allowed_gai_family
96
96
 
97
97
  def restore_gai(self) -> None:
98
+ return
98
99
  with self._gai_lock:
99
100
  if self.original_gai_family:
100
101
  logging.info("Restoring normal IP stack ...")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warp_beacon
3
- Version: 2.6.26
3
+ Version: 2.6.28
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.6.26"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes