diff --git a/backend/siarnaq/api/compete/serializers.py b/backend/siarnaq/api/compete/serializers.py index bd8971a34..056f47929 100644 --- a/backend/siarnaq/api/compete/serializers.py +++ b/backend/siarnaq/api/compete/serializers.py @@ -1,4 +1,5 @@ import random +from datetime import timezone import structlog from django.conf import settings @@ -283,7 +284,7 @@ def _normalize(obj): from django.utils import timezone as dj_tz # Parse the datetime string and convert to UTC - created = dj_tz.localtime(instance.created, dj_tz.utc) + created = dj_tz.localtime(instance.created, timezone.utc) data["created"] = created.isoformat().replace("+00:00", "Z") # Redact match details depending on client identity if self.context["user_is_staff"]: diff --git a/backend/siarnaq/gcloud/titan.py b/backend/siarnaq/gcloud/titan.py index 290619d79..96115458a 100644 --- a/backend/siarnaq/gcloud/titan.py +++ b/backend/siarnaq/gcloud/titan.py @@ -5,7 +5,6 @@ import structlog from django.conf import settings from google.auth import impersonated_credentials -from PIL import Image logger = structlog.get_logger(__name__) @@ -105,6 +104,8 @@ def get_object( def upload_image(raw_image, image_path): + from PIL import Image + img = Image.open(raw_image) img.thumbnail(settings.GCLOUD_MAX_AVATAR_SIZE) diff --git a/environment-dev.yml b/environment-dev.yml index 62fe04297..87b0a56e0 100644 --- a/environment-dev.yml +++ b/environment-dev.yml @@ -23,10 +23,12 @@ dependencies: - openjdk=11 - openssl>=3.0.15 - pillow=9.0.1 + - libtiff - pip=22.3 - pre_commit=2.20.0 - psycopg2=2.9.3 - python=3.10 + - setuptools<81 - pyupgrade=3.1.0 - terraform=1.3.4 - pip: