Spaces:
Sleeping
Sleeping
| from flask import Flask, send_file, request, jsonify | |
| import boto3 | |
| import os | |
| app = Flask(__name__) | |
| # AWS / DigitalOcean Spaces credentials | |
| ACCESS_ID = os.getenv('ACCESS_ID', 'DO0026WEQUG4WF6WQNJ9') | |
| SECRET_KEY = os.getenv('SECRET_KEY', 'UG7kQicGgWmkfVmESWK889RxZG49UqV7vRfYUJDFFUo') | |
| def download_file(filename): | |
| # Configure the client with your credentials | |
| session = boto3.session.Session() | |
| client = session.client('s3', | |
| region_name='nyc3', | |
| endpoint_url='https://nyc3.digitaloceanspaces.com', | |
| aws_access_key_id=ACCESS_ID, | |
| aws_secret_access_key=SECRET_KEY) | |
| # Define the bucket and object key | |
| bucket_name = 'sing' # Your bucket name | |
| object_key = f'{filename}' # Construct the object key | |
| # Define the local path to save the file | |
| local_file_path = os.path.join('weights', filename) | |
| # Download the file from the bucket | |
| try: | |
| client.download_file(bucket_name, object_key, local_file_path) | |
| except client.exceptions.NoSuchKey: | |
| return jsonify({'error': 'File not found in the bucket'}), 404 | |
| except Exception as e: | |
| return jsonify({'error': str(e)}), 500 | |
| # Optional: Send the file directly to the client | |
| # return send_file(local_file_path, as_attachment=True) | |
| return jsonify({'success': True, 'message': 'File downloaded successfully', 'file_path': local_file_path}) | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |