warp-beacon 2.2.51__tar.gz → 2.2.53__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.51/warp_beacon.egg-info → warp_beacon-2.2.53}/PKG-INFO +2 -1
  2. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/pyproject.toml +1 -0
  3. warp_beacon-2.2.53/warp_beacon/__version__.py +2 -0
  4. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/youtube/abstract.py +8 -2
  5. {warp_beacon-2.2.51 → warp_beacon-2.2.53/warp_beacon.egg-info}/PKG-INFO +2 -1
  6. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon.egg-info/requires.txt +1 -0
  7. warp_beacon-2.2.51/warp_beacon/__version__.py +0 -2
  8. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/LICENSE +0 -0
  9. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/MANIFEST.in +0 -0
  10. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/README.md +0 -0
  11. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/assets/placeholder.gif +0 -0
  12. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/etc/.gitignore +0 -0
  13. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/etc/accounts.json +0 -0
  14. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/etc/warp_beacon.conf +0 -0
  15. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/etc/warp_beacon.service +0 -0
  16. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/setup.cfg +0 -0
  17. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/setup.py +0 -0
  18. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/__init__.py +0 -0
  19. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/compress/__init__.py +0 -0
  20. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/compress/video.py +0 -0
  21. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/jobs/__init__.py +0 -0
  22. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/jobs/abstract.py +0 -0
  23. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/jobs/download_job.py +0 -0
  24. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/jobs/types.py +0 -0
  25. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/jobs/upload_job.py +0 -0
  26. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/mediainfo/__init__.py +0 -0
  27. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/mediainfo/abstract.py +0 -0
  28. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/mediainfo/audio.py +0 -0
  29. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/mediainfo/silencer.py +0 -0
  30. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/mediainfo/video.py +0 -0
  31. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scheduler/__init__.py +0 -0
  32. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scheduler/scheduler.py +0 -0
  33. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/__init__.py +0 -0
  34. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/abstract.py +0 -0
  35. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/account_selector.py +0 -0
  36. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/exceptions.py +0 -0
  37. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/instagram/__init__.py +0 -0
  38. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/instagram/instagram.py +0 -0
  39. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/youtube/__init__.py +0 -0
  40. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/youtube/music.py +0 -0
  41. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/youtube/shorts.py +0 -0
  42. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/scraper/youtube/youtube.py +0 -0
  43. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/storage/__init__.py +0 -0
  44. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/telegram/__init__.py +0 -0
  45. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/telegram/bot.py +0 -0
  46. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/telegram/handlers.py +0 -0
  47. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/telegram/placeholder_message.py +0 -0
  48. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/telegram/utils.py +0 -0
  49. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/uploader/__init__.py +0 -0
  50. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon/warp_beacon.py +0 -0
  51. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon.egg-info/SOURCES.txt +0 -0
  52. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon.egg-info/dependency_links.txt +0 -0
  53. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/warp_beacon.egg-info/entry_points.txt +0 -0
  54. {warp_beacon-2.2.51 → warp_beacon-2.2.53}/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.51
3
+ Version: 2.2.53
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
@@ -224,6 +224,7 @@ Classifier: Programming Language :: Python :: 3.10
224
224
  Requires-Python: >=3.10
225
225
  Description-Content-Type: text/markdown
226
226
  License-File: LICENSE
227
+ Requires-Dist: numpy
227
228
  Requires-Dist: ffmpeg-python
228
229
  Requires-Dist: uvloop
229
230
  Requires-Dist: tgcrypto
@@ -13,6 +13,7 @@ readme = "README.md"
13
13
  license = {file = "LICENSE"}
14
14
  requires-python = ">=3.10"
15
15
  dependencies = [
16
+ "numpy",
16
17
  "ffmpeg-python",
17
18
  "uvloop",
18
19
  "tgcrypto",
@@ -0,0 +1,2 @@
1
+ __version__ = "2.2.53"
2
+
@@ -11,9 +11,10 @@ import urllib
11
11
  import requests
12
12
  import http.client
13
13
  from PIL import Image
14
+ import numpy as np
14
15
 
15
16
  from warp_beacon.scraper.abstract import ScraperAbstract
16
- from warp_beacon.mediainfo.abstract import MediaInfoAbstract
17
+ #from warp_beacon.mediainfo.abstract import MediaInfoAbstract
17
18
  from warp_beacon.scraper.exceptions import TimeOut, Unavailable, extract_exception_message
18
19
 
19
20
  from pytubefix import YouTube
@@ -137,6 +138,10 @@ class YoutubeAbstract(ScraperAbstract):
137
138
  def aspect_ratio(self, size: tuple) -> tuple:
138
139
  gcd = math.gcd(size[0], size[1])
139
140
  return size[0] // gcd, size[1] // gcd
141
+
142
+ def crop_black_edges_pil(self, img: Image) -> Image:
143
+ y_nonzero, x_nonzero, _ = np.nonzero(img)
144
+ return img.crop((np.min(x_nonzero), np.min(y_nonzero), np.max(x_nonzero), np.max(y_nonzero)))
140
145
 
141
146
  def download_thumbnail(self, video_id: str, timeout: int) -> Optional[io.BytesIO]:
142
147
  for i in (#"https://img.youtube.com/vi/{VIDEO_ID}/maxresdefault.jpg",
@@ -149,11 +154,12 @@ class YoutubeAbstract(ScraperAbstract):
149
154
  if response.status_code == 200:
150
155
  image = Image.open(io.BytesIO(response.content))
151
156
  ratio = self.aspect_ratio(image.size)
157
+ image = self.crop_black_edges_pil(image)
152
158
  logging.info("thumb ratio: '%s'", ratio)
153
159
  new_image = self.resize_aspect_ratio(image)
154
160
  logging.info("thumb size: '%s'", new_image.size)
155
161
  io_buf = io.BytesIO()
156
- new_image.save(io_buf, format='JPEG', subsampling=0, quality=100, progressive=True, optimize=False)
162
+ new_image.save(io_buf, format='JPEG', subsampling=0, quality=95, progressive=True, optimize=False)
157
163
  logging.info("thumb size: %d kb", io_buf.getbuffer().nbytes / 1024)
158
164
  io_buf.seek(0)
159
165
  return io_buf
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.51
3
+ Version: 2.2.53
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
@@ -224,6 +224,7 @@ Classifier: Programming Language :: Python :: 3.10
224
224
  Requires-Python: >=3.10
225
225
  Description-Content-Type: text/markdown
226
226
  License-File: LICENSE
227
+ Requires-Dist: numpy
227
228
  Requires-Dist: ffmpeg-python
228
229
  Requires-Dist: uvloop
229
230
  Requires-Dist: tgcrypto
@@ -1,3 +1,4 @@
1
+ numpy
1
2
  ffmpeg-python
2
3
  uvloop
3
4
  tgcrypto
@@ -1,2 +0,0 @@
1
- __version__ = "2.2.51"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes