Tune-Splitter / utils.py
CCockrum's picture
Update utils.py
7477320 verified
# utils.py
import os
import requests
from log import logger
def create_directories(path):
os.makedirs(path, exist_ok=True)
def remove_directory_contents(path):
if not os.path.exists(path):
return
for filename in os.listdir(path):
file_path = os.path.join(path, filename)
if os.path.isfile(file_path):
os.remove(file_path)
elif os.path.isdir(file_path):
import shutil
shutil.rmtree(file_path)
def download_manager(url, output_dir):
filename = os.path.basename(url)
output_path = os.path.join(output_dir, filename)
if os.path.exists(output_path):
return output_path
logger.info(f"Downloading: {filename}")
os.makedirs(os.path.dirname(output_path), exist_ok=True) # Ensure directory exists
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(output_path, 'wb') as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
logger.info(f"Downloaded: {filename}")
return output_path