summaryrefslogtreecommitdiffstats
path: root/core/uploads.py
diff options
context:
space:
mode:
authorMichael Manfre2022-12-15 02:50:54 -0500
committerGitHub2022-12-15 00:50:54 -0700
commitaf3142ac3adb0d1f31d160edcb6d076b293020b1 (patch)
tree73cfd5d447f6444602c2ff401399d567c673949b /core/uploads.py
parent69f1b3168ac3f29fc4bafba0418769248b10062a (diff)
downloadtakahe-af3142ac3adb0d1f31d160edcb6d076b293020b1.tar.gz
takahe-af3142ac3adb0d1f31d160edcb6d076b293020b1.tar.bz2
takahe-af3142ac3adb0d1f31d160edcb6d076b293020b1.zip
Basic Emoji suppport (#157)
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