From e1e7e8bf023a5e128918f6753b7d3f94339b267d Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Fri, 26 Jan 2024 18:22:25 -0400
Subject: [PATCH] fix: import settings from django.conf

---
 program/models.py      |  6 +++---
 program/serializers.py |  5 ++---
 program/services.py    | 15 +++++++--------
 program/utils.py       | 10 +++++-----
 4 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/program/models.py b/program/models.py
index eedc69fe..0dc71029 100644
--- a/program/models.py
+++ b/program/models.py
@@ -21,12 +21,12 @@
 from rest_framework.exceptions import ValidationError
 from versatileimagefield.fields import PPOIField, VersatileImageField
 
+from django.conf import settings
 from django.contrib.auth.models import User
 from django.db import models
 from django.db.models import Max, Q
 from django.utils import timezone
 from django.utils.translation import gettext_lazy as _
-from steering.settings import THUMBNAIL_SIZES
 
 
 class ScheduleConflictError(ValidationError):
@@ -148,8 +148,8 @@ class Image(models.Model):
     def save(self, *args, **kwargs):
         super().save(*args, **kwargs)
 
-        if self.image.name and THUMBNAIL_SIZES:
-            for size in THUMBNAIL_SIZES:
+        if self.image.name and settings.THUMBNAIL_SIZES:
+            for size in settings.HUMBNAIL_SIZES:
                 self.image.thumbnail = self.image.crop[size].name
 
     def delete(self, using=None, keep_parents=False):
diff --git a/program/serializers.py b/program/serializers.py
index f03d95a0..79aba96d 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -51,7 +51,6 @@ from program.models import (
     UserProfile,
 )
 from program.utils import delete_links, get_audio_url
-from steering.settings import THUMBNAIL_SIZES
 
 SOLUTION_CHOICES = {
     "theirs": "Discard projected timeslot. Keep existing timeslot(s).",
@@ -251,8 +250,8 @@ class ImageSerializer(serializers.ModelSerializer):
         """Returns thumbnails"""
         thumbnails = []
 
-        if instance.image.name and THUMBNAIL_SIZES:
-            for size in THUMBNAIL_SIZES:
+        if instance.image.name and settings.THUMBNAIL_SIZES:
+            for size in settings.THUMBNAIL_SIZES:
                 [width, height] = size.split("x")
                 thumbnails.append(
                     {
diff --git a/program/services.py b/program/services.py
index 4e793a3a..9ab08144 100644
--- a/program/services.py
+++ b/program/services.py
@@ -24,6 +24,7 @@ from dateutil.relativedelta import relativedelta
 from dateutil.rrule import rrule
 from rest_framework.exceptions import ValidationError
 
+from django.conf import settings
 from django.core.exceptions import ObjectDoesNotExist
 from django.db.models import Q, QuerySet
 from django.utils import timezone
@@ -31,10 +32,6 @@ from django.utils.translation import gettext_lazy as _
 from program.models import Note, RRule, Schedule, ScheduleConflictError, Show, TimeSlot
 from program.serializers import ScheduleSerializer, TimeSlotSerializer
 from program.utils import parse_date, parse_datetime, parse_time
-from steering.settings import (
-    AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE,
-    AUTO_SET_LAST_DATE_TO_END_OF_YEAR,
-)
 
 
 class ScheduleData(TypedDict):
@@ -116,12 +113,12 @@ def resolve_conflicts(data: ScheduleCreateUpdateData, schedule_pk: int | None, s
 
     # FIXME: refactor this to eliminate the duplication
     if last_date_is_unknown:
-        if AUTO_SET_LAST_DATE_TO_END_OF_YEAR:
+        if settings.AUTO_SET_LAST_DATE_TO_END_OF_YEAR:
             year = timezone.now().year
             new_schedule.last_date = timezone.datetime(year, 12, 31).date()
         else:
             new_schedule.last_date = new_schedule.first_date + timedelta(
-                days=+AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE
+                days=+settings.AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE
             )
 
     show = new_schedule.show
@@ -510,11 +507,13 @@ def generate_timeslots(schedule: Schedule) -> list[TimeSlot]:
 
     # FIXME: refactor this to eliminate the duplication
     if schedule.last_date is None:
-        if AUTO_SET_LAST_DATE_TO_END_OF_YEAR:
+        if settings.AUTO_SET_LAST_DATE_TO_END_OF_YEAR:
             year = timezone.now().year
             until = timezone.datetime(year, 12, 31).date()
         else:
-            until = schedule.first_date + timedelta(days=+AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE)
+            until = schedule.first_date + timedelta(
+                days=+settings.AUTO_SET_LAST_DATE_TO_DAYS_IN_FUTURE
+            )
     else:
         until = schedule.last_date
 
diff --git a/program/utils.py b/program/utils.py
index 3295beb3..91c5191c 100644
--- a/program/utils.py
+++ b/program/utils.py
@@ -26,8 +26,8 @@ from typing import Dict, Optional, Tuple, Union
 import requests
 from rest_framework import exceptions
 
+from django.conf import settings
 from django.utils import timezone
-from steering.settings import CBA_AJAX_URL, CBA_API_KEY, DEBUG
 
 if typing.TYPE_CHECKING:
     from program.models import Host, Note, Show
@@ -77,10 +77,10 @@ def get_audio_url(cba_id: Optional[int]) -> str:
     For these contact cba@fro.at
     """
 
-    if not cba_id or CBA_API_KEY == "":
+    if not cba_id or settings.CBA_API_KEY == "":
         return ""
     else:
-        if DEBUG:
+        if settings.DEBUG:
             url = (
                 "https://cba.fro.at/wp-content/plugins/cba/ajax/cba-get-filename.php?post_id="
                 + str(cba_id)
@@ -88,11 +88,11 @@ def get_audio_url(cba_id: Optional[int]) -> str:
             )
         else:
             url = (
-                CBA_AJAX_URL
+                settings.CBA_AJAX_URL
                 + "?action=cba_ajax_get_filename&post_id="
                 + str(cba_id)
                 + "&api_key="
-                + CBA_API_KEY
+                + settings.CBA_API_KEY
             )
 
         try:
-- 
GitLab