|
import os |
|
import streamlit as st |
|
from pySmartDL import SmartDL |
|
import platform |
|
|
|
def get_default_download_folder(): |
|
system_platform = platform.system() |
|
if system_platform == "Windows": |
|
return os.path.join(os.path.expanduser("~"), "Downloads") |
|
elif system_platform == "Linux": |
|
return os.path.join(os.path.expanduser("~"), "Downloads") |
|
elif system_platform == "Darwin": |
|
return os.path.join(os.path.expanduser("~"), "Downloads") |
|
elif system_platform == "Android": |
|
return "/storage/emulated/0/Download" |
|
else: |
|
raise NotImplementedError("Platform not supported") |
|
|
|
def download_video(url): |
|
try: |
|
|
|
dl = SmartDL(url, progress_bar=False) |
|
|
|
dl.start() |
|
|
|
dest_path = dl.get_dest() |
|
|
|
default_download_folder = get_default_download_folder() |
|
os.rename(dest_path, os.path.join(default_download_folder, os.path.basename(dest_path))) |
|
st.success("Video downloaded successfully!") |
|
except Exception as e: |
|
st.error(f"An error occurred: {e}") |
|
|
|
def main(): |
|
st.title("YouTube Video Downloader") |
|
|
|
|
|
video_url = st.text_input("Enter YouTube URL:") |
|
|
|
|
|
if st.button("Download"): |
|
if video_url.strip() == "": |
|
st.warning("Please enter a valid YouTube URL.") |
|
else: |
|
|
|
download_video(video_url) |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|