Viewing File: /home/ubuntu/codegamaai-test/voice_clone/src/s3_download.py
import boto3
import os
from botocore.exceptions import ClientError
from dotenv import load_dotenv
from src.utils import *
load_dotenv()
s3_client = boto3.client(
's3',
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
aws_secret_access_key= os.environ['AWS_SECRET_ACCESS_KEY'],
region_name= os.environ['AWS_DEFAULT_REGION']
)
def download_file_from_s3(s3_url, local_dir):
parts = s3_url.split('/')
bucket_name = parts[2].split('.')[0]
s3_key = '/'.join(parts[3:])
file_name = s3_key.split('/')[-1]
local_file_path = os.path.join(local_dir, file_name)
try:
s3_client.download_file(bucket_name, s3_key, local_file_path)
print(f"File downloaded successfully: {local_file_path}")
return local_file_path
except ClientError as e:
print(f"Failed to download file from S3: {e}")
return None
def direct_download(url, local_dir):
local_file_path = os.path.join(local_dir, url.split('/')[-1])
try:
response = requests.get(url)
with open(local_file_path, 'wb') as f:
f.write(response.content)
print(f"File downloaded successfully: {local_file_path}")
return local_file_path
except Exception as e:
print(f"Failed to download file: {e}")
return None
url = "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-9.mp3"
local_dir = r"C:\Users\Kal Aana\Music\codegama\rvc_clone\data\sample_3\vid_1\audio"
# download_result = direct_download(url, local_dir)
# print(f"Download result: {download_result}")
# download_result = download_file_from_s3('https://gf-bot.s3.amazonaws.com/859015262_1.mp3_20240328154435.mp3',
# 'sample_3', 'vid_1')
# print(f"Download result: {download_result}")
Back to Directory
File Manager