summaryrefslogtreecommitdiffstats
path: root/core/uploads.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/uploads.py')
-rw-r--r--core/uploads.py16
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