From 011b62fb5d92a6a8718a283a12a9c0b189f899c8 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Fri, 20 Nov 2020 15:09:30 -0400
Subject: [PATCH] Reformat & clean-up `frapp` application

---
 frapp/urls.py  |   5 +--
 frapp/views.py | 107 ++++++++++++++++++++++---------------------------
 2 files changed, 51 insertions(+), 61 deletions(-)

diff --git a/frapp/urls.py b/frapp/urls.py
index f6b7814e..d4bc1e00 100644
--- a/frapp/urls.py
+++ b/frapp/urls.py
@@ -1,8 +1,7 @@
-# -*- coding: utf-8 -*-
-
 from django.conf.urls import url
+
 from .views import json_frapp
 
 urlpatterns = [
     url(r'^frapp/$', json_frapp),
-]
\ No newline at end of file
+]
diff --git a/frapp/views.py b/frapp/views.py
index ceda81a6..353d6f45 100644
--- a/frapp/views.py
+++ b/frapp/views.py
@@ -1,14 +1,13 @@
-# -*- coding: utf-8 -*-
-
 import json
 from datetime import date, datetime, time
 
-from django.db.models import Q
+from django.contrib.sites.shortcuts import get_current_site
 from django.core.exceptions import ObjectDoesNotExist
+from django.db.models import Q
 from django.http import HttpResponse
-from django.contrib.sites.shortcuts import get_current_site
+from django.utils.translation import ugettext_lazy as _
 
-from program.models import Note, Show, Category, TimeSlot, Host, Schedule
+from program.models import Note, Category, TimeSlot, Schedule
 
 
 def generate_frapp_broadcastinfos(schedule):
@@ -23,32 +22,33 @@ def generate_frapp_broadcastinfos(schedule):
     broadcasttime = schedule.tstart.strftime('%H:%M') + ' - ' + schedule.tend.strftime('%H:%M') + ' Uhr;'
     broadcastinfos = ''
 
-    if schedule.rrule_id == 1: # Once
-        broadcastinfos = 'Am ' + weekdays[schedule.byweekday] + ', ' + schedule.dstart.strftime('%d.%m.%Y') + ', ' + broadcasttime
-    if schedule.rrule_id == 2: # Daily
+    if schedule.rrule_id == 1:  # Once
+        broadcastinfos = 'Am ' + weekdays[schedule.byweekday] + ', ' + schedule.dstart.strftime(
+            '%d.%m.%Y') + ', ' + broadcasttime
+    if schedule.rrule_id == 2:  # Daily
         broadcastinfos = 'täglich, ' + broadcasttime
-    if schedule.rrule_id == 3: # Business days
+    if schedule.rrule_id == 3:  # Business days
         broadcastinfos = 'werktags, ' + broadcasttime
-    if schedule.rrule_id == 4: # Weekly
+    if schedule.rrule_id == 4:  # Weekly
         broadcastinfos = 'Jeden ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 5: # Bi-weekly
+    if schedule.rrule_id == 5:  # Bi-weekly
         print("Not supported by FRAPP yet")
-    if schedule.rrule_id == 6: # Every four weeks
+    if schedule.rrule_id == 6:  # Every four weeks
         print("Not supported by FRAPP yet")
-    if schedule.rrule_id == 7: # Even calendar weeks
-       broadcastinfos = 'Jeden geraden ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 8: # Odd calendar weeks
-       broadcastinfos = 'Jeden ungeraden ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 9: # Every 1st week
-       broadcastinfos = 'Jeden 1. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 10: # Every 2nd week
-       broadcastinfos = 'Jeden 2. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 11: # Every 3rd week
-       broadcastinfos = 'Jeden 3. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 12: # Every 4th week
-       broadcastinfos = 'Jeden 4. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
-    if schedule.rrule_id == 13: # Every 5th week
-       broadcastinfos = 'Jeden 5. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 7:  # Even calendar weeks
+        broadcastinfos = 'Jeden geraden ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 8:  # Odd calendar weeks
+        broadcastinfos = 'Jeden ungeraden ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 9:  # Every 1st week
+        broadcastinfos = 'Jeden 1. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 10:  # Every 2nd week
+        broadcastinfos = 'Jeden 2. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 11:  # Every 3rd week
+        broadcastinfos = 'Jeden 3. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 12:  # Every 4th week
+        broadcastinfos = 'Jeden 4. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
+    if schedule.rrule_id == 13:  # Every 5th week
+        broadcastinfos = 'Jeden 5. ' + weekdays[schedule.byweekday] + ', ' + broadcasttime
 
     return broadcastinfos
 
@@ -64,17 +64,16 @@ def json_frapp(request):
     """
     from pv.settings import MEDIA_URL
 
-    if request.GET.get('date') == None:
+    if request.GET.get('date') is None:
         start = datetime.combine(date.today(), time(0, 0))
     else:
-        start = datetime.combine( datetime.strptime(request.GET.get('date'), '%Y-%m-%d').date(), time(0, 0))
+        start = datetime.combine(datetime.strptime(request.GET.get('date'), '%Y-%m-%d').date(), time(0, 0))
 
     end = datetime.combine(start, time(23, 59))
 
-    timeslots = TimeSlot.objects.filter(start__gte=start,start__lte=end).select_related('show').order_by('start')
-
+    timeslots = TimeSlot.objects.filter(start__gte=start, start__lte=end).select_related('show').order_by('start')
 
-    '''Generate categories object for output'''
+    # Generate categories object for output
 
     categories = Category.objects.all()
     categories_output = []
@@ -94,34 +93,30 @@ def json_frapp(request):
     for ts in timeslots:
         series.add(ts.show)
 
-
-    '''Generate series object for output'''
+    # Generate series object for output
 
     series_output = []
 
     for s in series:
-        metainfos = []
-        metainfos.append({ 'key': 'ProduzentIn', 'value': ', '.join(ts.show.hosts.values_list('name', flat=True)) })
-        metainfos.append({ 'key': 'E-Mail', 'value': ', '.join(ts.show.hosts.values_list('email', flat=True)) })
+        metainfos = [{'key': 'ProduzentIn', 'value': ', '.join(ts.show.hosts.values_list('name', flat=True))},
+                     {'key': 'E-Mail', 'value': ', '.join(ts.show.hosts.values_list('email', flat=True))}]
 
-        image = '' if s.image.name == None or s.image.name == '' else str(get_current_site(request)) + MEDIA_URL + s.image.name
-        url = '' if s.website == None or s.website == '' else s.website
+        image = '' if s.image.name is None or s.image.name == '' else str(get_current_site(request)) + MEDIA_URL + s.image.name
+        url = '' if s.website is None or s.website == '' else s.website
 
         # Get active schedules for the given date
         # But include upcoming single timeslots (with rrule_id=1)
-        schedules = Schedule.objects.filter( Q(show=s.id,is_repetition=False) &
-                                             (
-                                               Q(rrule_id__gt=1,dstart__lte=start,until__gte=start) |
-                                               Q(rrule_id=1,dstart__gte=start)
-                                             )
-                                           )
-
-        schedules_repetition = Schedule.objects.filter( Q(show=s.id,is_repetition=True) &
-                                             (
-                                               Q(rrule_id__gt=1,dstart__lte=start,until__gte=start) |
-                                               Q(rrule_id=1,dstart__gte=start)
-                                             )
-                                           )
+        schedules = Schedule.objects.filter(Q(show=s.id, is_repetition=False) &
+                                            (
+                                                    Q(rrule_id__gt=1, dstart__lte=start, until__gte=start) |
+                                                    Q(rrule_id=1, dstart__gte=start)
+                                            ))
+
+        schedules_repetition = Schedule.objects.filter(Q(show=s.id, is_repetition=True) &
+                                                       (
+                                                               Q(rrule_id__gt=1, dstart__lte=start, until__gte=start) |
+                                                               Q(rrule_id=1, dstart__gte=start)
+                                                       ))
 
         broadcastinfos = ''
 
@@ -150,8 +145,7 @@ def json_frapp(request):
 
         series_output.append(s_entry)
 
-
-    '''Generate shows object for output'''
+    # Generate shows object for output
 
     shows_output = []
 
@@ -186,10 +180,7 @@ def json_frapp(request):
 
         shows_output.append(ts_entry)
 
-    output = {}
-    output['categories'] = categories_output
-    output['series'] = series_output
-    output['shows'] = shows_output
+    output = {'categories': categories_output, 'series': series_output, 'shows': shows_output}
 
     return HttpResponse(json.dumps(output, ensure_ascii=False).encode('utf8'),
-                        content_type="application/json; charset=utf-8")
\ No newline at end of file
+                        content_type="application/json; charset=utf-8")
-- 
GitLab