warp-beacon 2.2.16__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.16/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.16 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/abstract.py +21 -25
  4. {warp_beacon-2.2.16 → warp_beacon-2.2.18/warp_beacon.egg-info}/PKG-INFO +1 -1
  5. warp_beacon-2.2.16/warp_beacon/__version__.py +0 -2
  6. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/LICENSE +0 -0
  7. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/MANIFEST.in +0 -0
  8. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/README.md +0 -0
  9. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/assets/placeholder.gif +0 -0
  10. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/etc/.gitignore +0 -0
  11. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/etc/accounts.json +0 -0
  12. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/etc/warp_beacon.conf +0 -0
  13. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/etc/warp_beacon.service +0 -0
  14. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/pyproject.toml +0 -0
  15. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/setup.cfg +0 -0
  16. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/setup.py +0 -0
  17. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/__init__.py +0 -0
  18. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/compress/__init__.py +0 -0
  19. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/compress/video.py +0 -0
  20. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/jobs/__init__.py +0 -0
  21. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/jobs/abstract.py +0 -0
  22. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/jobs/download_job.py +0 -0
  23. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/jobs/types.py +0 -0
  24. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/jobs/upload_job.py +0 -0
  25. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/mediainfo/__init__.py +0 -0
  26. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/mediainfo/abstract.py +0 -0
  27. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/mediainfo/audio.py +0 -0
  28. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/mediainfo/silencer.py +0 -0
  29. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/mediainfo/video.py +0 -0
  30. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scheduler/__init__.py +0 -0
  31. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scheduler/scheduler.py +0 -0
  32. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/__init__.py +0 -0
  33. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/abstract.py +0 -0
  34. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/account_selector.py +0 -0
  35. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/exceptions.py +0 -0
  36. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/instagram/__init__.py +0 -0
  37. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/instagram/instagram.py +0 -0
  38. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/__init__.py +0 -0
  39. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/music.py +0 -0
  40. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/shorts.py +0 -0
  41. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/scraper/youtube/youtube.py +0 -0
  42. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/storage/__init__.py +0 -0
  43. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/telegram/__init__.py +0 -0
  44. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/telegram/bot.py +0 -0
  45. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/telegram/handlers.py +0 -0
  46. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/telegram/placeholder_message.py +0 -0
  47. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/telegram/utils.py +0 -0
  48. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/uploader/__init__.py +0 -0
  49. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon/warp_beacon.py +0 -0
  50. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon.egg-info/SOURCES.txt +0 -0
  51. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon.egg-info/dependency_links.txt +0 -0
  52. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon.egg-info/entry_points.txt +0 -0
  53. {warp_beacon-2.2.16 → warp_beacon-2.2.18}/warp_beacon.egg-info/requires.txt +0 -0
  54. {warp_beacon-2.2.16 → 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.16
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,29 +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=640, min_height: int=360) -> 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
- # probe the max width and calculate height
111
- width = max_width
112
- height = int(width / aspect_ratio)
110
+ # Target size
111
+ target_width, target_height = target_size
113
112
 
114
- # if height exceeds max height of Telegram recalculate based on max height
115
- if height > max_height:
116
- height = max_height
117
- width = int(height * aspect_ratio)
113
+ # Calculate start sizes bases on min height
114
+ height = target_height
115
+ width = int(height * aspect_ratio)
118
116
 
119
- # check min sizes
120
- if width < min_width:
121
- width = min_width
117
+ # reduce width if target width exceeds
118
+ if width > target_width:
119
+ width = target_width
122
120
  height = int(width / aspect_ratio)
123
121
 
124
- if height < min_height:
125
- height = min_height
126
- width = int(height * aspect_ratio)
127
-
128
- return width, height
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
129
132
 
130
133
  def aspect_ratio(self, size: tuple) -> tuple:
131
134
  gcd = math.gcd(size[0], size[1])
@@ -142,14 +145,7 @@ class YoutubeAbstract(ScraperAbstract):
142
145
  if response.status_code == 200:
143
146
  image = Image.open(io.BytesIO(response.content))
144
147
  ratio = self.aspect_ratio(image.size)
145
- desired_size = self.calculate_size(ratio[0], ratio[1])
146
- new_image = Image.new("RGB", desired_size, (255, 255, 255))
147
- image = MediaInfoAbstract.shrink_image_to_fit(image, size=desired_size)
148
- image_position = (
149
- (desired_size[0] - image.size[0]) // 2,
150
- (desired_size[1] - image.size[1]) // 2
151
- )
152
- new_image.paste(image, image_position)
148
+ new_image = self.calculate_size_with_padding(image, ratio[0], ratio[1])
153
149
  io_buf = io.BytesIO()
154
150
  new_image.save(io_buf, format='JPEG', subsampling=0, quality=100, progressive=True, optimize=False)
155
151
  io_buf.seek(0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.16
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.16"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes