server: revert change on storage folder

This commit is contained in:
2023-11-16 14:32:18 +01:00
committed by Mathieu Virbel
parent aecc3a0c3b
commit 88f443e2c2
2 changed files with 15 additions and 21 deletions

View File

@@ -18,14 +18,14 @@ class Storage:
cls._registry[name] = kclass
@classmethod
def get_instance(cls, name: str, settings_prefix: str = "", folder: str = ""):
def get_instance(cls, name: str, settings_prefix: str = ""):
if name not in cls._registry:
module_name = f"reflector.storage.storage_{name}"
importlib.import_module(module_name)
# gather specific configuration for the processor
# search `TRANSCRIPT_BACKEND_XXX_YYY`, push to constructor as `backend_xxx_yyy`
config = {"folder": folder}
config = {}
name_upper = name.upper()
config_prefix = f"{settings_prefix}{name_upper}_"
for key, value in settings:
@@ -35,10 +35,6 @@ class Storage:
return cls._registry[name](**config)
def __init__(self):
self.folder = ""
super().__init__()
async def put_file(self, filename: str, data: bytes) -> FileResult:
return await self._put_file(filename, data)
@@ -50,3 +46,9 @@ class Storage:
async def _delete_file(self, filename: str):
raise NotImplementedError
async def get_file_url(self, filename: str) -> str:
return await self._get_file_url(filename)
async def _get_file_url(self, filename: str) -> str:
raise NotImplementedError

View File

@@ -22,14 +22,9 @@ class AwsStorage(Storage):
super().__init__()
self.aws_bucket_name = aws_bucket_name
folder = ""
self.aws_folder = ""
if "/" in aws_bucket_name:
self.aws_bucket_name, folder = aws_bucket_name.split("/", 1)
if folder:
if not self.folder:
self.folder = folder
else:
self.folder = f"{self.folder}/{folder}"
self.aws_bucket_name, self.aws_folder = aws_bucket_name.split("/", 1)
self.session = aioboto3.Session(
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
@@ -39,7 +34,7 @@ class AwsStorage(Storage):
async def _put_file(self, filename: str, data: bytes) -> FileResult:
bucket = self.aws_bucket_name
folder = self.folder
folder = self.aws_folder
logger.info(f"Uploading {filename} to S3 {bucket}/{folder}")
s3filename = f"{folder}/{filename}" if folder else filename
async with self.session.client("s3") as client:
@@ -49,9 +44,9 @@ class AwsStorage(Storage):
Body=data,
)
async def get_file_url(self, filename: str) -> FileResult:
async def _get_file_url(self, filename: str) -> FileResult:
bucket = self.aws_bucket_name
folder = self.folder
folder = self.aws_folder
s3filename = f"{folder}/{filename}" if folder else filename
async with self.session.client("s3") as client:
presigned_url = await client.generate_presigned_url(
@@ -60,14 +55,11 @@ class AwsStorage(Storage):
ExpiresIn=3600,
)
return FileResult(
filename=filename,
url=presigned_url,
)
return presigned_url
async def _delete_file(self, filename: str):
bucket = self.aws_bucket_name
folder = self.folder
folder = self.aws_folder
logger.info(f"Deleting {filename} from S3 {bucket}/{folder}")
s3filename = f"{folder}/{filename}" if folder else filename
async with self.session.client("s3") as client: