warp-beacon 2.6.82__tar.gz → 2.6.84__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 (69) hide show
  1. {warp_beacon-2.6.82/warp_beacon.egg-info → warp_beacon-2.6.84}/PKG-INFO +1 -1
  2. warp_beacon-2.6.84/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scheduler/scheduler.py +7 -8
  4. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/instagram/wb_instagrapi.py +14 -2
  5. {warp_beacon-2.6.82 → warp_beacon-2.6.84/warp_beacon.egg-info}/PKG-INFO +1 -1
  6. warp_beacon-2.6.82/warp_beacon/__version__.py +0 -2
  7. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/LICENSE +0 -0
  8. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/MANIFEST.in +0 -0
  9. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/README.md +0 -0
  10. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/assets/placeholder.gif +0 -0
  11. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/etc/.gitignore +0 -0
  12. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/etc/accounts.json +0 -0
  13. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/etc/proxies.json +0 -0
  14. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/etc/warp_beacon.conf +0 -0
  15. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/etc/warp_beacon.service +0 -0
  16. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/pyproject.toml +0 -0
  17. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/setup.cfg +0 -0
  18. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/setup.py +0 -0
  19. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/__init__.py +0 -0
  20. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/compress/__init__.py +0 -0
  21. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/compress/video.py +0 -0
  22. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/jobs/__init__.py +0 -0
  23. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/jobs/abstract.py +0 -0
  24. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/jobs/download_job.py +0 -0
  25. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/jobs/types.py +0 -0
  26. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/jobs/upload_job.py +0 -0
  27. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/mediainfo/__init__.py +0 -0
  28. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/mediainfo/abstract.py +0 -0
  29. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/mediainfo/audio.py +0 -0
  30. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/mediainfo/silencer.py +0 -0
  31. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/mediainfo/video.py +0 -0
  32. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scheduler/__init__.py +0 -0
  33. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scheduler/instagram_human.py +0 -0
  34. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/__init__.py +0 -0
  35. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/abstract.py +0 -0
  36. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/account_selector.py +0 -0
  37. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/exceptions.py +0 -0
  38. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/fail_handler.py +0 -0
  39. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/instagram/__init__.py +0 -0
  40. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/instagram/captcha.py +0 -0
  41. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/instagram/instagram.py +0 -0
  42. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/link_resolver.py +0 -0
  43. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/utils.py +0 -0
  44. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/youtube/__init__.py +0 -0
  45. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/youtube/abstract.py +0 -0
  46. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/youtube/music.py +0 -0
  47. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/youtube/shorts.py +0 -0
  48. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/scraper/youtube/youtube.py +0 -0
  49. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/storage/__init__.py +0 -0
  50. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/storage/mongo.py +0 -0
  51. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/__init__.py +0 -0
  52. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/bot.py +0 -0
  53. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/caption_shortener.py +0 -0
  54. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/download_status.py +0 -0
  55. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/edit_message.py +0 -0
  56. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/handlers.py +0 -0
  57. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/placeholder_message.py +0 -0
  58. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/progress_bar.py +0 -0
  59. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/progress_file_reader.py +0 -0
  60. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/types.py +0 -0
  61. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/telegram/utils.py +0 -0
  62. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/uploader/__init__.py +0 -0
  63. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/warp_beacon.py +0 -0
  64. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon/yt_auth.py +0 -0
  65. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon.egg-info/SOURCES.txt +0 -0
  66. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon.egg-info/dependency_links.txt +0 -0
  67. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon.egg-info/entry_points.txt +0 -0
  68. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/warp_beacon.egg-info/requires.txt +0 -0
  69. {warp_beacon-2.6.82 → warp_beacon-2.6.84}/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.82
3
+ Version: 2.6.84
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.84"
2
+
@@ -13,13 +13,13 @@ import warp_beacon
13
13
  class IGScheduler(object):
14
14
  state_file = "/var/warp_beacon/scheduler_state.json"
15
15
  yt_sessions_dir = "/var/warp_beacon"
16
- downloader = None
17
- running = True
18
- thread = None
19
- event = None
20
- state = {"remaining": randrange(8400, 26200), "yt_sess_exp": []}
21
16
 
22
17
  def __init__(self, downloader: warp_beacon.scraper.AsyncDownloader) -> None:
18
+ self.downloader = None
19
+ self.running = True
20
+ self.thread = None
21
+ self.event = None
22
+ self.state = {"remaining": randrange(8400, 26200), "yt_sess_exp": []}
23
23
  self.downloader = downloader
24
24
  self.event = threading.Event()
25
25
  self.handle_time_planning()
@@ -37,9 +37,7 @@ class IGScheduler(object):
37
37
 
38
38
  def load_yt_sessions(self) -> None:
39
39
  try:
40
- # old versions migration
41
- if not "yt_sess_exp" in self.state:
42
- self.state["yt_sess_exp"] = []
40
+ self.state["yt_sess_exp"] = []
43
41
 
44
42
  for f in os.listdir(self.yt_sessions_dir):
45
43
  if f.startswith("yt_session") and f.endswith(".json"):
@@ -134,6 +132,7 @@ class IGScheduler(object):
134
132
  self.load_state()
135
133
  while self.running:
136
134
  try:
135
+ self.load_yt_sessions()
137
136
  yt_expires = self.yt_nearest_expire()
138
137
  ig_sched = self.state["remaining"]
139
138
  min_val = min(yt_expires, ig_sched)
@@ -43,7 +43,19 @@ class WBClient(Client):
43
43
  raise TypeError("Progress callback must be callable")
44
44
  self.progress_callback = callback
45
45
 
46
+ def adaptive_chunk_size(self, content_length: int) -> int:
47
+ if content_length < 100_000:
48
+ return 2048
49
+ elif content_length < 5_000_000:
50
+ return 8192
51
+ elif content_length < 100_000_000:
52
+ return 32768
53
+ else:
54
+ return 65536
55
+
46
56
  def sanitize_instagram_url(self, url: str) -> str:
57
+ if "oh=" in url: # signed url, do not touch
58
+ return url
47
59
  parsed = urlparse(url)
48
60
  query = parse_qs(parsed.query)
49
61
  filtered_query = {k: v for k, v in query.items() if k in self.essential_params}
@@ -78,7 +90,7 @@ class WBClient(Client):
78
90
 
79
91
  downloaded = 0
80
92
  with open(path, "wb") as f:
81
- for chunk in response.iter_content(chunk_size=8192):
93
+ for chunk in response.iter_content(chunk_size=self.adaptive_chunk_size(content_length)):
82
94
  if chunk:
83
95
  f.write(chunk)
84
96
  downloaded += len(chunk)
@@ -136,7 +148,7 @@ class WBClient(Client):
136
148
  downloaded = 0
137
149
  with open(path, "wb") as f:
138
150
  response.raw.decode_content = True
139
- for chunk in response.iter_content(chunk_size=4096):
151
+ for chunk in response.iter_content(chunk_size=self.adaptive_chunk_size(content_length)):
140
152
  if chunk:
141
153
  f.write(chunk)
142
154
  downloaded += len(chunk)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warp_beacon
3
- Version: 2.6.82
3
+ Version: 2.6.84
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.82"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes