warp-beacon 2.2.17__tar.gz → 2.2.18__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.17/warp_beacon.egg-info → warp_beacon-2.2.18}/PKG-INFO +1 -1
  2. warp_beacon-2.2.18/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/abstract.py +24 -29
  4. {warp_beacon-2.2.17 → warp_beacon-2.2.18/warp_beacon.egg-info}/PKG-INFO +1 -1
  5. warp_beacon-2.2.17/warp_beacon/__version__.py +0 -2
  6. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/LICENSE +0 -0
  7. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/MANIFEST.in +0 -0
  8. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/README.md +0 -0
  9. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/assets/placeholder.gif +0 -0
  10. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/etc/.gitignore +0 -0
  11. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/etc/accounts.json +0 -0
  12. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/etc/warp_beacon.conf +0 -0
  13. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/etc/warp_beacon.service +0 -0
  14. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/pyproject.toml +0 -0
  15. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/setup.cfg +0 -0
  16. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/setup.py +0 -0
  17. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/__init__.py +0 -0
  18. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/compress/__init__.py +0 -0
  19. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/compress/video.py +0 -0
  20. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/jobs/__init__.py +0 -0
  21. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/jobs/abstract.py +0 -0
  22. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/jobs/download_job.py +0 -0
  23. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/jobs/types.py +0 -0
  24. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/jobs/upload_job.py +0 -0
  25. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/mediainfo/__init__.py +0 -0
  26. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/mediainfo/abstract.py +0 -0
  27. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/mediainfo/audio.py +0 -0
  28. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/mediainfo/silencer.py +0 -0
  29. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/mediainfo/video.py +0 -0
  30. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scheduler/__init__.py +0 -0
  31. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scheduler/scheduler.py +0 -0
  32. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/__init__.py +0 -0
  33. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/abstract.py +0 -0
  34. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/account_selector.py +0 -0
  35. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/exceptions.py +0 -0
  36. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/instagram/__init__.py +0 -0
  37. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/instagram/instagram.py +0 -0
  38. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/__init__.py +0 -0
  39. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/music.py +0 -0
  40. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/shorts.py +0 -0
  41. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/youtube.py +0 -0
  42. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/storage/__init__.py +0 -0
  43. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/telegram/__init__.py +0 -0
  44. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/telegram/bot.py +0 -0
  45. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/telegram/handlers.py +0 -0
  46. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/telegram/placeholder_message.py +0 -0
  47. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/telegram/utils.py +0 -0
  48. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/uploader/__init__.py +0 -0
  49. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon/warp_beacon.py +0 -0
  50. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon.egg-info/SOURCES.txt +0 -0
  51. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon.egg-info/dependency_links.txt +0 -0
  52. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon.egg-info/entry_points.txt +0 -0
  53. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/warp_beacon.egg-info/requires.txt +0 -0
  54. {warp_beacon-2.2.17 → warp_beacon-2.2.18}/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.17
3
+ Version: 2.2.18
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.18"
2
+
@@ -103,30 +103,32 @@ class YoutubeAbstract(ScraperAbstract):
103
103
  if "yt_download_" in i:
104
104
  os.unlink("%s/%s" % (self.DOWNLOAD_DIR, i))
105
105
 
106
- def calculate_size(self, aspect_ratio_width: int, aspect_ratio_height: int, max_width: int=1280, max_height: int=1280, min_width: int=320, min_height: int=320, prefer_min_size: bool=False) -> tuple:
107
- # check ratio
106
+ def calculate_size_with_padding(self, image: Image, aspect_ratio_width: int, aspect_ratio_height: int, target_size: tuple=(320, 320), background_color: tuple=(0, 0, 0)) -> Image:
107
+ # aspect ratio
108
108
  aspect_ratio = aspect_ratio_width / aspect_ratio_height
109
109
 
110
- if prefer_min_size:
111
- # Probing min width and calculating height
112
- width = min_width
113
- height = int(width / aspect_ratio)
114
-
115
- # if height is less than min, recalculatng based on min height
116
- if height < min_height:
117
- height = min_height
118
- width = int(height * aspect_ratio)
119
- else:
120
- # Probing max width and calculating height
121
- width = max_width
110
+ # Target size
111
+ target_width, target_height = target_size
112
+
113
+ # Calculate start sizes bases on min height
114
+ height = target_height
115
+ width = int(height * aspect_ratio)
116
+
117
+ # reduce width if target width exceeds
118
+ if width > target_width:
119
+ width = target_width
122
120
  height = int(width / aspect_ratio)
123
-
124
- # if height exceeds max height Telegram, recalculatng based on max height
125
- if height > max_height:
126
- height = max_height
127
- width = int(height * aspect_ratio)
128
-
129
- return width, height
121
+
122
+ # create new image with color and size 320x320
123
+ new_image = Image.new("RGB", target_size, background_color)
124
+
125
+ # Рассчитываем позицию для центрирования изображения на подложке
126
+ paste_position = ((target_width - width) // 2, (target_height - height) // 2)
127
+
128
+ # pasting image to center
129
+ new_image.paste(image, paste_position)
130
+
131
+ return new_image
130
132
 
131
133
  def aspect_ratio(self, size: tuple) -> tuple:
132
134
  gcd = math.gcd(size[0], size[1])
@@ -143,14 +145,7 @@ class YoutubeAbstract(ScraperAbstract):
143
145
  if response.status_code == 200:
144
146
  image = Image.open(io.BytesIO(response.content))
145
147
  ratio = self.aspect_ratio(image.size)
146
- desired_size = self.calculate_size(ratio[0], ratio[1])
147
- new_image = Image.new("RGB", desired_size, (255, 255, 255))
148
- image = MediaInfoAbstract.shrink_image_to_fit(image, size=desired_size)
149
- image_position = (
150
- (desired_size[0] - image.size[0]) // 2,
151
- (desired_size[1] - image.size[1]) // 2
152
- )
153
- new_image.paste(image, image_position)
148
+ new_image = self.calculate_size_with_padding(image, ratio[0], ratio[1])
154
149
  io_buf = io.BytesIO()
155
150
  new_image.save(io_buf, format='JPEG', subsampling=0, quality=100, progressive=True, optimize=False)
156
151
  io_buf.seek(0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.17
3
+ Version: 2.2.18
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.17"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes