warp-beacon 2.2.52__tar.gz → 2.2.54__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.
- {warp_beacon-2.2.52/warp_beacon.egg-info → warp_beacon-2.2.54}/PKG-INFO +1 -1
- warp_beacon-2.2.54/warp_beacon/__version__.py +2 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/youtube/abstract.py +4 -4
- {warp_beacon-2.2.52 → warp_beacon-2.2.54/warp_beacon.egg-info}/PKG-INFO +1 -1
- warp_beacon-2.2.52/warp_beacon/__version__.py +0 -2
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/LICENSE +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/MANIFEST.in +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/README.md +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/assets/placeholder.gif +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/etc/.gitignore +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/etc/accounts.json +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/etc/warp_beacon.conf +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/etc/warp_beacon.service +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/pyproject.toml +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/setup.cfg +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/setup.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/compress/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/compress/video.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/jobs/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/jobs/abstract.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/jobs/download_job.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/jobs/types.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/jobs/upload_job.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/mediainfo/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/mediainfo/abstract.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/mediainfo/audio.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/mediainfo/silencer.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/mediainfo/video.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scheduler/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scheduler/scheduler.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/abstract.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/account_selector.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/exceptions.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/instagram/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/instagram/instagram.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/youtube/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/youtube/music.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/youtube/shorts.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/scraper/youtube/youtube.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/storage/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/telegram/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/telegram/bot.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/telegram/handlers.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/telegram/placeholder_message.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/telegram/utils.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/uploader/__init__.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon/warp_beacon.py +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon.egg-info/SOURCES.txt +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon.egg-info/dependency_links.txt +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon.egg-info/entry_points.txt +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon.egg-info/requires.txt +0 -0
- {warp_beacon-2.2.52 → warp_beacon-2.2.54}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -139,9 +139,9 @@ class YoutubeAbstract(ScraperAbstract):
|
|
139
139
|
gcd = math.gcd(size[0], size[1])
|
140
140
|
return size[0] // gcd, size[1] // gcd
|
141
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)))
|
142
|
+
def crop_black_edges_pil(self, img: Image, threshold: int = 35) -> Image:
|
143
|
+
y_nonzero, x_nonzero, _ = np.nonzero(np.array(img) > threshold)
|
144
|
+
return img.crop((np.min(x_nonzero), np.min(y_nonzero)+15, np.max(x_nonzero), np.max(y_nonzero)-5))
|
145
145
|
|
146
146
|
def download_thumbnail(self, video_id: str, timeout: int) -> Optional[io.BytesIO]:
|
147
147
|
for i in (#"https://img.youtube.com/vi/{VIDEO_ID}/maxresdefault.jpg",
|
@@ -153,8 +153,8 @@ class YoutubeAbstract(ScraperAbstract):
|
|
153
153
|
with requests.get(url, timeout=(timeout, timeout)) as response:
|
154
154
|
if response.status_code == 200:
|
155
155
|
image = Image.open(io.BytesIO(response.content))
|
156
|
-
image = self.crop_black_edges_pil(image)
|
157
156
|
ratio = self.aspect_ratio(image.size)
|
157
|
+
image = self.crop_black_edges_pil(image)
|
158
158
|
logging.info("thumb ratio: '%s'", ratio)
|
159
159
|
new_image = self.resize_aspect_ratio(image)
|
160
160
|
logging.info("thumb size: '%s'", new_image.size)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|