warp-beacon 2.5.9__py3-none-any.whl → 2.6.1__py3-none-any.whl

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.
@@ -1,2 +1,2 @@
1
- __version__ = "2.5.9"
1
+ __version__ = "2.6.1"
2
2
 
@@ -321,7 +321,10 @@ class AsyncDownloader(object):
321
321
  )
322
322
  ffmpeg = VideoCompress(file_path=item["local_media_path"])
323
323
  new_filepath = ffmpeg.generate_filepath(base_filepath=item["local_media_path"])
324
- if ffmpeg.compress_to(new_filepath, target_size=2000 * 1000):
324
+ target_size = 2000 * 1000
325
+ if os.environ.get("TG_PREMIUM", default="false") == "true":
326
+ target_size = 4000 * 1000
327
+ if ffmpeg.compress_to(new_filepath, target_size=target_size):
325
328
  logging.info("Successfully compressed file '%s'", new_filepath)
326
329
  os.unlink(item["local_media_path"])
327
330
  item["local_media_path"] = new_filepath
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  import signal
3
+ import asyncio
3
4
  from typing import Optional, Union
4
5
 
5
6
  import logging
@@ -29,6 +30,7 @@ from warp_beacon.telegram.caption_shortener import CaptionShortner
29
30
  from warp_beacon.scheduler.scheduler import IGScheduler
30
31
 
31
32
  class Bot(object):
33
+ should_exit = None
32
34
  storage = None
33
35
  uploader = None
34
36
  downloader = None
@@ -37,6 +39,7 @@ class Bot(object):
37
39
  handlers = None
38
40
  placeholder = None
39
41
  scheduler = None
42
+ me = None
40
43
 
41
44
  def __init__(self, tg_bot_name: str, tg_token: str, tg_api_id: str, tg_api_hash: str) -> None:
42
45
  # Enable logging
@@ -46,10 +49,12 @@ class Bot(object):
46
49
 
47
50
  logging.getLogger("pyrogram").setLevel(logging.ERROR)
48
51
 
52
+ logging.info("Starting Warp Beacon version '%s' ...", __version__)
53
+
49
54
  db_connect = DBClient()
50
55
  self.storage = Storage(db_connect)
51
56
 
52
- logging.info("Starting Warp Beacon version '%s' ...", __version__)
57
+ self.should_exit = asyncio.Event()
53
58
 
54
59
  workers_amount = min(32, os.cpu_count() + 4)
55
60
 
@@ -64,14 +69,6 @@ class Bot(object):
64
69
  workers=int(os.environ.get("TG_WORKERS_POOL_SIZE", default=workers_amount))
65
70
  )
66
71
 
67
- this = self
68
- def __terminator() -> None:
69
- this.stop()
70
-
71
- stop_signals = (signal.SIGINT, signal.SIGTERM, signal.SIGABRT)
72
- for sig in stop_signals:
73
- self.client.loop.add_signal_handler(sig, __terminator)
74
-
75
72
  self.uploader = AsyncUploader(
76
73
  storage=self.storage,
77
74
  admin_message_callback=self.send_text_to_admin,
@@ -102,20 +99,34 @@ class Bot(object):
102
99
 
103
100
  self.placeholder = PlaceholderMessage(self)
104
101
 
105
- self.client.run()
106
-
107
102
  def __del__(self) -> None:
108
103
  self.stop()
109
- logging.info("Warp Beacon terminated.")
110
104
 
111
105
  def start(self) -> None:
112
- self.client.run()
106
+ self.client.run(self.run)
107
+
108
+ async def run(self) -> None:
109
+ loop = asyncio.get_running_loop()
110
+ for sig in (signal.SIGINT, signal.SIGTERM, signal.SIGABRT):
111
+ loop.add_signal_handler(sig, self.should_exit.set)
112
+ async with self.client:
113
+ self.me = await self.client.get_me()
114
+ self.client.me = self.me
115
+ if self.me.is_premium:
116
+ os.environ["TG_PREMIUM"] = "true"
117
+ logging.info("Warp Beacon version '%s' started", __version__)
118
+ await self.should_exit.wait()
119
+
120
+ self.stop()
121
+ logging.info("Warp Beacon version '%s' terminated.", __version__)
113
122
 
114
123
  def stop(self) -> None:
115
124
  logging.info("Warp Beacon is terminating. This may take a while ...")
116
125
  self.scheduler.stop()
117
126
  self.downloader.stop_all()
118
127
  self.uploader.stop_all()
128
+ if self.client and self.client.is_initialized and self.client.is_connected:
129
+ asyncio.run_coroutine_threadsafe(self.client.stop(), self.client.loop)
119
130
 
120
131
  async def send_text(self, chat_id: int, text: str, reply_id: int = None) -> int:
121
132
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warp_beacon
3
- Version: 2.5.9
3
+ Version: 2.6.1
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
@@ -4,7 +4,7 @@ var/warp_beacon/accounts.json,sha256=OsXdncs6h88xrF_AP6_WDCK1waGBn9SR-uYdIeK37GM
4
4
  var/warp_beacon/placeholder.gif,sha256=cE5CGJVaop4Sx21zx6j4AyoHU0ncmvQuS2o6hJfEH88,6064
5
5
  var/warp_beacon/proxies.json,sha256=VnjlQDXumOEq72ZFjbh6IqHS1TEHqn8HPYAZqWCeSIA,95
6
6
  warp_beacon/__init__.py,sha256=_rThNODmz0nDp_n4mWo_HKaNFE5jk1_7cRhHyYaencI,163
7
- warp_beacon/__version__.py,sha256=aLBFFfW98WGxaYXkMjtjHNDxfmIla9jgTt-t8o0GNlU,23
7
+ warp_beacon/__version__.py,sha256=d_TYaIGxsHm_zjgukK3Xh_KuqWcCQOD5FTAT-8Ikybs,23
8
8
  warp_beacon/warp_beacon.py,sha256=7KEtZDj-pdhtl6m-zFLsSojs1ZR4o7L0xbqtdmYPvfE,342
9
9
  warp_beacon/yt_auth.py,sha256=GUTKqYr_tzDC-07Lx_ahWXSag8EyLxXBUnQbDBIkEmk,6022
10
10
  warp_beacon/compress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -22,7 +22,7 @@ warp_beacon/mediainfo/video.py,sha256=UBZrhTN5IDI-aYu6tsJEILo9nFkjHhkldGVFmvV7tE
22
22
  warp_beacon/scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  warp_beacon/scheduler/instagram_human.py,sha256=xbh37egaTiSOasIMibpF0n9xwmWbq5ktGyNglyZQpvc,5673
24
24
  warp_beacon/scheduler/scheduler.py,sha256=z1EokmWTdo8GE3PfqFl2JFypqVNtp2qtSBwBykH1dNg,4727
25
- warp_beacon/scraper/__init__.py,sha256=j2MKXnyAKcB_0HlOn83UGUAEPbkdMbC5BnXVOPox1yk,18454
25
+ warp_beacon/scraper/__init__.py,sha256=aL3YqIvOaQvrfTTQLP5srgyfpk19xYAH6oot_BT8tv0,18600
26
26
  warp_beacon/scraper/abstract.py,sha256=CiOyKCxVYWhPnOUpLAVIRNuHBftN6gmxqATdhjzkaS4,2852
27
27
  warp_beacon/scraper/account_selector.py,sha256=mYNxAyAJj4ie9wMMkfb7ONjvAicS8xPEfE3iIe4gCog,6965
28
28
  warp_beacon/scraper/exceptions.py,sha256=EKwoF0oH2xZWbNU-v8DOaWK5skKwa3s1yTIBdlcfMpc,1452
@@ -38,15 +38,15 @@ warp_beacon/scraper/youtube/youtube.py,sha256=ctHPmTfNO-5dcYeh1K4_PkB6MQRVgByr4E
38
38
  warp_beacon/storage/__init__.py,sha256=0Vajd0oITKJfu2vmNx5uQSt3-L6vwIvUYWJo8HZCjco,3398
39
39
  warp_beacon/storage/mongo.py,sha256=qC4ZiO8XXvPnP0rJwz4CJx42pqFsyAjCiW10W5QdT6E,527
40
40
  warp_beacon/telegram/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- warp_beacon/telegram/bot.py,sha256=yLgmX3HKoy_A8RXU1h-7VTDih_gOA0UY2obzlVK7OdA,18222
41
+ warp_beacon/telegram/bot.py,sha256=fdod7JsRGgB2jIqkLTSEwuriy7BICW4MSW6IXZfUMak,18714
42
42
  warp_beacon/telegram/caption_shortener.py,sha256=EnguNCF52ne7y4P-iJAbI6K3sqoJqJbND_dX5Fhwkv0,1549
43
43
  warp_beacon/telegram/handlers.py,sha256=uvR6TPHSqdSxigp3wR-ewiE6t3TvVcbVLVcYGwkgD2s,9559
44
44
  warp_beacon/telegram/placeholder_message.py,sha256=wN9-BRiyrtHG-EvXtZkGJHt2CX71munQ57ITttjt0mw,6400
45
45
  warp_beacon/telegram/utils.py,sha256=9uebX53G16mV7ER7WgfdWBLFHHw14S8HBt9URrIskg0,4440
46
46
  warp_beacon/uploader/__init__.py,sha256=e75mOcC0vrUVjrTNMQzVUTgXGdGo4J6n8t5doOnYG5I,5616
47
- warp_beacon-2.5.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
48
- warp_beacon-2.5.9.dist-info/METADATA,sha256=j3S6Ygz1Sb273IriEP29jMwCv_IovdhYhTy8ZZtCKKo,22625
49
- warp_beacon-2.5.9.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
50
- warp_beacon-2.5.9.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
51
- warp_beacon-2.5.9.dist-info/top_level.txt,sha256=4ML0-mXsezLtRXyxQUntL_ktc5HX9npTeQWzvV8kFvA,1161
52
- warp_beacon-2.5.9.dist-info/RECORD,,
47
+ warp_beacon-2.6.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
48
+ warp_beacon-2.6.1.dist-info/METADATA,sha256=yEC4IoY5EIJrfHw3gSSrknEeJT5dJ7m5WTD2-W6zyGA,22625
49
+ warp_beacon-2.6.1.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
50
+ warp_beacon-2.6.1.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
51
+ warp_beacon-2.6.1.dist-info/top_level.txt,sha256=4ML0-mXsezLtRXyxQUntL_ktc5HX9npTeQWzvV8kFvA,1161
52
+ warp_beacon-2.6.1.dist-info/RECORD,,