import boto3 # AWS credentials (if not set in environment variables or AWS CLI config) from dotenv import load_dotenv import os import sys from utils import doc_processing # Load .env file load_dotenv() # Access variables AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID") AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY") print("AWS_ACCESS_KEY_ID",AWS_ACCESS_KEY_ID) print("AWS_SECRET_ACCESS_KEY",AWS_SECRET_ACCESS_KEY) # Initialize S3 client class s3_client: def __init__(self): self.aws_access_key_id = AWS_ACCESS_KEY_ID self.aws_secret_access_key = AWS_SECRET_ACCESS_KEY def initialize(self): return boto3.client( 's3', aws_access_key_id=self.aws_access_key_id, aws_secret_access_key=self.aws_secret_access_key ) def upload_file(self,local_file_path, bucket_name,folder_name,file_name): try: client = self.initialize() client.upload_file(local_file_path, bucket_name, f"{folder_name}/{file_name}") print(f"File uploaded successfully to {bucket_name}/{folder_name}{file_name}") url = f"https://edgekycdocs.s3.eu-north-1.amazonaws.com/{folder_name}/{file_name}" print("file url",url) return {"status": 200, "message":"file uploaded successfully" , "url" : url} except Exception as e: print("Error uploading file:", e) return {"status": 400, "message":e}