abstract-webtools 0.1.6.25__py3-none-any.whl → 0.1.6.27__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.
- abstract_webtools/managers/videoDownloader.py +21 -3
- {abstract_webtools-0.1.6.25.dist-info → abstract_webtools-0.1.6.27.dist-info}/METADATA +1 -1
- {abstract_webtools-0.1.6.25.dist-info → abstract_webtools-0.1.6.27.dist-info}/RECORD +6 -6
- {abstract_webtools-0.1.6.25.dist-info → abstract_webtools-0.1.6.27.dist-info}/LICENSE +0 -0
- {abstract_webtools-0.1.6.25.dist-info → abstract_webtools-0.1.6.27.dist-info}/WHEEL +0 -0
- {abstract_webtools-0.1.6.25.dist-info → abstract_webtools-0.1.6.27.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,10 @@
|
|
1
1
|
from abstract_webtools import requestManager, urlManager, soupManager, requests, linkManager
|
2
2
|
import threading,os,re,yt_dlp,urllib.request,m3u8_To_MP4,subprocess
|
3
3
|
from abstract_utilities import get_logFile,safe_dump_to_file
|
4
|
-
|
5
4
|
from m3u8 import M3U8 # Install: pip install m3u8
|
6
5
|
from urllib.parse import urljoin
|
7
6
|
from yt_dlp.postprocessor.ffmpeg import FFmpegFixupPostProcessor
|
8
7
|
from abstract_math import divide_it,add_it,multiply_it,subtract_it
|
9
|
-
from abstract_webtools import *
|
10
8
|
logger = get_logFile('video_bp')
|
11
9
|
class VideoDownloader:
|
12
10
|
def __init__(self, url, title=None, download_directory=os.getcwd(), user_agent=None, video_extention='mp4',
|
@@ -200,7 +198,7 @@ def get_thumbnails(directory,info):
|
|
200
198
|
info['thumbnails'][i]['path']=thumbnail_path
|
201
199
|
download_image(thumbnail_url, save_path=thumbnail_path)
|
202
200
|
return info
|
203
|
-
def downloadvideo(url,directory=False,thumbnails=True):
|
201
|
+
def downloadvideo(url,directory=False,rename_display=True,thumbnails=True,audio=False):
|
204
202
|
directory = directory or os.getcwd()
|
205
203
|
temp_id = re.sub(r'[^\w\d.-]', '_', url)[-20:]
|
206
204
|
temp_filename = f"temp_{temp_id}.mp4"
|
@@ -212,7 +210,27 @@ def downloadvideo(url,directory=False,thumbnails=True):
|
|
212
210
|
output_filename=temp_filename
|
213
211
|
)
|
214
212
|
info = video_mgr.info
|
213
|
+
display_id= info.get('display_id') or info.get('id')
|
214
|
+
directory =os.path.join(directory,display_id)
|
215
|
+
os.makedirs(directory, exist_ok=True)
|
216
|
+
if rename_display and info and 'file_path' in info:
|
217
|
+
# Rename using metadata
|
218
|
+
video_id = info.get('id', temp_id)
|
219
|
+
title = info.get('title', 'video')[:30] # Limit to 30 chars
|
220
|
+
safe_title = re.sub(r'[^\w\d.-]', '_', title)
|
221
|
+
final_filename = f"{safe_title}_{video_id}.mp4"
|
222
|
+
new_path = os.path.join(directory, final_filename)
|
223
|
+
if os.path.exists(info['file_path']):
|
224
|
+
os.rename(info['file_path'], new_path)
|
225
|
+
info['file_path'] = new_path
|
226
|
+
info_path = os.path.join(directory,'info.json')
|
215
227
|
if thumbnails:
|
216
228
|
info = get_thumbnails(directory,info)
|
229
|
+
if audio:
|
230
|
+
try:
|
231
|
+
info = download_audio(directory, info)
|
232
|
+
except:
|
233
|
+
info['audio_path'] = audio_path
|
234
|
+
safe_dump_to_file(info,info_path)
|
217
235
|
return info
|
218
236
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: abstract_webtools
|
3
|
-
Version: 0.1.6.
|
3
|
+
Version: 0.1.6.27
|
4
4
|
Summary: Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.
|
5
5
|
Home-page: https://github.com/AbstractEndeavors/abstract_essentials/tree/main/abstract_webtools
|
6
6
|
Author: putkoff
|
@@ -23,11 +23,11 @@ abstract_webtools/managers/sslManager.py,sha256=C-QgQw9CW84uOE5kx2MPjC3RsLbE2JQq
|
|
23
23
|
abstract_webtools/managers/tlsAdapter.py,sha256=XZSMZz9EUOhv-h3_Waf6mjV1dA3oN_M_oWuoo4VZ_HE,1454
|
24
24
|
abstract_webtools/managers/urlManager.py,sha256=Dvf-TiSo5j_YjZS2Eq6lFfbhveneD6NA_wEE0xUXy_E,8858
|
25
25
|
abstract_webtools/managers/userAgentManager.py,sha256=33SB2p2FG7EYZl7l2iYm1U4gI9PcdkGTZHw5lg_Ogrw,1653
|
26
|
-
abstract_webtools/managers/videoDownloader.py,sha256=
|
26
|
+
abstract_webtools/managers/videoDownloader.py,sha256=7RGgk4-ctTED-62rug0u8ubpxReExsjhcVFq5wKc2hk,10271
|
27
27
|
abstract_webtools/managers/videoDownloader2.py,sha256=v3H6akdhvVWGrB-r35m3cp_-aKkNWadpfCiMylOnv6w,12748
|
28
28
|
abstract_webtools/managers/videos/Heather brooke swallo from condom.mp4,sha256=h-bKFLAHt7pGLGu4EcMvSSox7BPRK0Nga3u813iMVKQ,8335544
|
29
|
-
abstract_webtools-0.1.6.
|
30
|
-
abstract_webtools-0.1.6.
|
31
|
-
abstract_webtools-0.1.6.
|
32
|
-
abstract_webtools-0.1.6.
|
33
|
-
abstract_webtools-0.1.6.
|
29
|
+
abstract_webtools-0.1.6.27.dist-info/LICENSE,sha256=g3WEJFiVS27HyCGRTwKSsMLyciMaGFdWcZGOe1QalZk,3877
|
30
|
+
abstract_webtools-0.1.6.27.dist-info/METADATA,sha256=UoJxhmemLf8FSnKEGv9i36HMf5xNCqpK3kb4BDiUp1s,16051
|
31
|
+
abstract_webtools-0.1.6.27.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
32
|
+
abstract_webtools-0.1.6.27.dist-info/top_level.txt,sha256=2DMJ7RmjTcjCsa-uwAV0K6eXXlIIkFDEjBLg_uyCmCI,18
|
33
|
+
abstract_webtools-0.1.6.27.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|