warp-beacon 2.2.34__tar.gz → 2.2.36__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 (54) hide show
  1. {warp_beacon-2.2.34/warp_beacon.egg-info → warp_beacon-2.2.36}/PKG-INFO +1 -1
  2. warp_beacon-2.2.36/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/account_selector.py +17 -17
  4. {warp_beacon-2.2.34 → warp_beacon-2.2.36/warp_beacon.egg-info}/PKG-INFO +1 -1
  5. warp_beacon-2.2.34/warp_beacon/__version__.py +0 -2
  6. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/LICENSE +0 -0
  7. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/MANIFEST.in +0 -0
  8. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/README.md +0 -0
  9. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/assets/placeholder.gif +0 -0
  10. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/etc/.gitignore +0 -0
  11. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/etc/accounts.json +0 -0
  12. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/etc/warp_beacon.conf +0 -0
  13. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/etc/warp_beacon.service +0 -0
  14. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/pyproject.toml +0 -0
  15. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/setup.cfg +0 -0
  16. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/setup.py +0 -0
  17. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/__init__.py +0 -0
  18. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/compress/__init__.py +0 -0
  19. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/compress/video.py +0 -0
  20. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/jobs/__init__.py +0 -0
  21. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/jobs/abstract.py +0 -0
  22. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/jobs/download_job.py +0 -0
  23. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/jobs/types.py +0 -0
  24. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/jobs/upload_job.py +0 -0
  25. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/mediainfo/__init__.py +0 -0
  26. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/mediainfo/abstract.py +0 -0
  27. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/mediainfo/audio.py +0 -0
  28. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/mediainfo/silencer.py +0 -0
  29. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/mediainfo/video.py +0 -0
  30. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scheduler/__init__.py +0 -0
  31. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scheduler/scheduler.py +0 -0
  32. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/__init__.py +0 -0
  33. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/abstract.py +0 -0
  34. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/exceptions.py +0 -0
  35. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/instagram/__init__.py +0 -0
  36. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/instagram/instagram.py +0 -0
  37. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/youtube/__init__.py +0 -0
  38. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/youtube/abstract.py +0 -0
  39. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/youtube/music.py +0 -0
  40. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/youtube/shorts.py +0 -0
  41. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/scraper/youtube/youtube.py +0 -0
  42. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/storage/__init__.py +0 -0
  43. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/telegram/__init__.py +0 -0
  44. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/telegram/bot.py +0 -0
  45. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/telegram/handlers.py +0 -0
  46. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/telegram/placeholder_message.py +0 -0
  47. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/telegram/utils.py +0 -0
  48. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/uploader/__init__.py +0 -0
  49. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon/warp_beacon.py +0 -0
  50. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon.egg-info/SOURCES.txt +0 -0
  51. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon.egg-info/dependency_links.txt +0 -0
  52. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon.egg-info/entry_points.txt +0 -0
  53. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon.egg-info/requires.txt +0 -0
  54. {warp_beacon-2.2.34 → warp_beacon-2.2.36}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.34
3
+ Version: 2.2.36
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.2.36"
2
+
@@ -4,7 +4,6 @@ import json
4
4
  import re
5
5
 
6
6
  import multiprocessing
7
- from itertools import islice, cycle
8
7
 
9
8
  from warp_beacon.jobs import Origin
10
9
 
@@ -12,26 +11,24 @@ import logging
12
11
 
13
12
  class AccountSelector(object):
14
13
  accounts = []
15
- acc_pools = {}
16
14
  current = None
17
15
  current_module_name = None
18
- index = None
19
16
  accounts_meta_data = None
20
17
  session_dir = "/var/warp_beacon"
21
18
  manager = None
19
+ account_index = {}
22
20
 
23
21
  def __init__(self, manager: multiprocessing.managers.SyncManager, acc_file_path: str) -> None:
24
22
  self.manager = manager
25
- self.index = self.manager.Value('i', 0)
26
23
  self.accounts_meta_data = self.manager.dict()
27
24
  if os.path.exists(acc_file_path):
28
25
  with open(acc_file_path, 'r', encoding="utf-8") as f:
29
26
  self.accounts = json.loads(f.read())
30
27
  if self.accounts:
31
28
  self.__init_meta_data()
32
- self.load_yt_sessions()
29
+ #self.load_yt_sessions()
33
30
  for acc_type, _ in self.accounts.items():
34
- self.acc_pools[acc_type] = cycle(self.accounts[acc_type])
31
+ self.account_index[acc_type] = self.manager.Value('i', 0)
35
32
  else:
36
33
  raise ValueError("Accounts file not found")
37
34
 
@@ -42,7 +39,8 @@ class AccountSelector(object):
42
39
  # for k, v in self.accounts.items():
43
40
 
44
41
  def load_yt_sessions(self) -> None:
45
- self.accounts["youtube"] = []
42
+ if "youtube" not in self.accounts:
43
+ self.accounts["youtube"] = []
46
44
  for f in os.listdir(self.session_dir):
47
45
  if "yt_session" in f and ".json" in f:
48
46
  match = re.search(r'\d+', f)
@@ -64,27 +62,29 @@ class AccountSelector(object):
64
62
  module_name = 'youtube' if next((s for s in ("yt", "youtube", "youtu_be") if s in module_origin.value), None) else 'instagram'
65
63
  self.current_module_name = module_name
66
64
  if self.current is None:
67
- self.current = self.accounts[self.current_module_name][self.index.value]
68
- #self.acc_pools[self.current_module_name] = next(islice(self.acc_pools[self.current_module_name], self.index.value, None))
65
+ self.current = self.accounts[self.current_module_name][self.account_index[self.current_module_name].value]
69
66
 
70
67
  def next(self) -> dict:
71
- self.current = next(self.acc_pools[self.current_module_name])
72
- self.index.value = self.accounts[self.current_module_name].index(self.current)
73
- logging.info("Selected account index is '%d'", self.index.value)
68
+ idx = self.account_index[self.current_module_name].value + 1
69
+ if idx > len(self.accounts[self.current_module_name]):
70
+ idx = 0
71
+ self.current = self.accounts[self.current_module_name][idx]
72
+ self.account_index[self.current_module_name].value = idx
73
+ logging.info("Selected account index is '%d'", idx)
74
74
  return self.current
75
75
 
76
76
  def bump_acc_fail(self, key: str, amount: int = 1) -> int:
77
- self.accounts_meta_data[self.index.value][key] += amount
78
- return self.accounts_meta_data[self.index.value][key]
77
+ self.accounts_meta_data[self.account_index[self.current_module_name].value][key] += amount
78
+ return self.accounts_meta_data[self.account_index[self.current_module_name].value][key]
79
79
 
80
80
  def how_much(self, key: str) -> int:
81
- return self.accounts_meta_data[self.current_module_name][self.index.value][key]
81
+ return self.accounts_meta_data[self.current_module_name][self.account_index[self.current_module_name].value][key]
82
82
 
83
83
  def get_current(self) -> tuple:
84
- return (self.index.value, self.current)
84
+ return (self.account_index[self.current_module_name].value, self.current)
85
85
 
86
86
  def get_meta_data(self) -> dict:
87
- return self.accounts_meta_data[self.current_module_name][self.index.value]
87
+ return self.accounts_meta_data[self.current_module_name][self.account_index[self.current_module_name].value]
88
88
 
89
89
  def count_service_accounts(self, mod_name: Origin) -> int:
90
90
  module_name = 'youtube' if next((s for s in ("yt", "youtube", "youtu_be") if s in mod_name.value), None) else 'instagram'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.34
3
+ Version: 2.2.36
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.2.34"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes