diff options
Diffstat (limited to 'core/uploads.py')
-rw-r--r-- | core/uploads.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/uploads.py b/core/uploads.py index 41b6e94..f6c0e89 100644 --- a/core/uploads.py +++ b/core/uploads.py @@ -1,10 +1,14 @@ import os import secrets +from typing import TYPE_CHECKING from django.utils import timezone from storages.backends.gcloud import GoogleCloudStorage from storages.backends.s3boto3 import S3Boto3Storage +if TYPE_CHECKING: + from activities.models import Emoji + def upload_namer(prefix, instance, filename): """ @@ -16,6 +20,18 @@ def upload_namer(prefix, instance, filename): return f"{prefix}/{now.year}/{now.month}/{now.day}/{new_filename}{old_extension}" +def upload_emoji_namer(prefix, instance: "Emoji", filename): + """ + Names uploaded emoji per domain + """ + _, old_extension = os.path.splitext(filename) + if instance.domain is None: + domain = "_default" + else: + domain = instance.domain.domain + return f"{prefix}/{domain}/{instance.shortcode}{old_extension}" + + class TakaheS3Storage(S3Boto3Storage): """ Custom override backend that makes webp files store correctly |