ai-content-maker/.venv/Lib/site-packages/moviepy/video/io/downloader.py

35 lines
1.0 KiB
Python
Raw Permalink Normal View History

2024-05-11 23:00:43 +03:00
"""
Utilities to get a file from the internet
"""
import os
import requests
from moviepy.tools import subprocess_call
def download_webfile(url, filename, overwrite=False):
""" Small utility to download the file at 'url' under name 'filename'.
If url is a youtube video ID like z410eauCnH it will download the video
using youtube-dl (install youtube-dl first !).
If the filename already exists and overwrite=False, nothing will happen.
"""
if os.path.exists(filename) and not overwrite:
return
if '.' in url:
r = requests.get(url, stream=True)
with open(filename, 'wb') as fd:
for chunk in r.iter_content(chunk_size=128):
fd.write(chunk)
else:
try:
subprocess_call(['youtube-dl', url, '-o', filename])
except OSError as e:
raise OSError(
e.message + '\n A possible reason is that youtube-dl'
' is not installed on your computer. Install it with '
' "pip install youtube_dl"')