diff options
-rw-r--r-- | nop/views.py | 67 | ||||
-rw-r--r-- | program/models.py | 2 |
2 files changed, 31 insertions, 38 deletions
diff --git a/nop/views.py b/nop/views.py index 9308c72..9e76d2f 100644 --- a/nop/views.py +++ b/nop/views.py @@ -12,10 +12,10 @@ import time from datetime import datetime DB = 'nop' -MUSIKPROG_IDS = (1,5,12,17,34,60,81,89) +MUSIKPROG_IDS = (1,5,17,34,60,81,89) # 1 - unmodieriertes musikprogramm # 5 - Abunda Lingva - # 12 - aus den freien radios + ## 12 - aus den freien radios # 17 - bumbumtschak # 34 - fruehstück A # 60 - musikprogramm bunt gemischt @@ -25,14 +25,16 @@ MUSIKPROG_IDS = (1,5,12,17,34,60,81,89) class NopForm(forms.Form): date = forms.DateField( required=True, - initial=datetime.date(datetime.now()), + #initial=datetime.date(datetime.now()), ## static initial specifies + ## any time but not the + ## current one widget=forms.DateInput( format='%Y-%m-%d', attrs={'id':'nop_date', 'class':'date'}) ) time = forms.TimeField( required=True, - initial=datetime.time(datetime.now()), + #initial=datetime.time(datetime.now()), widget=forms.TimeInput( format='%H:%M', attrs={'id':'nop_time', 'class':'date'}) @@ -86,49 +88,39 @@ def _current(): 'album': album} def _bydate(year=None, month=None, day=None, hour=None, minute=None): - #try: - #import pdb;pdb.set_trace() - show = _get_show(datetime(year, month, day, hour, minute)) - if show['id'] and show['id'] not in MUSIKPROG_IDS: - return [{'show': show['name'], - 'start': show['start'], - 'artist': None, - 'title': None, - 'album': None}] - else: - # tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst - ts = int(time.mktime(( - int(year), - int(month), - int(day), - int(hour), - int(minute),0,0,0,-1))) * 1000000 - result = _which(ts).objects.using(DB).filter(timestamp__lt=ts)[:5] - return [{'show': show['name'], - 'start': _dtstring(time.localtime(item.timestamp//1000000)), - 'artist': item.artist, - 'title': item.title, - 'album': item.album} for item in result] - #except: # all errors - # return None - + show = _get_show(datetime(year, month, day, hour, minute)) + if show['id'] and show['id'] not in MUSIKPROG_IDS: + return [{'show': show['name'], + 'start': show['start'], + 'artist': None, + 'title': None, + 'album': None}] + else: + # tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst + ts = int(time.mktime(( + int(year), + int(month), + int(day), + int(hour), + int(minute),0,0,0,-1))) * 1000000 + result = _which(ts).objects.using(DB).filter(timestamp__lt=ts)[:5] + return [{'show': show['name'], + 'start': _dtstring(time.localtime(item.timestamp//1000000)), + 'artist': item.artist, + 'title': item.title, + 'album': item.album} for item in result] def get_current(request): response = json.dumps(_current()) - return HttpResponse(response, mimetype='application/json') - #return HttpResponse(response, mimetype='text/plain') def get(request, year=None, month=None, day=None, hour=None, minute=None): response = json.dumps(_bydate(year, month, day, hour, minute)) - return HttpResponse(response, mimetype='application/json') - #return HttpResponse(response, mimetype='text/plain') - def nop_form(request): context = {} - # currently no csrf security for nicier forms + ## currently no csrf security for nicier forms #context.update(csrf(request)) # in django template: {% csrf_token %} date = None time = None @@ -139,7 +131,8 @@ def nop_form(request): date = form.cleaned_data['date'] time = form.cleaned_data['time'] else: - form = NopForm() + form = NopForm(initial={'date':datetime.date(datetime.now()), + 'time':datetime.time(datetime.now())}) if not date: date = datetime.date(datetime.now()) if not time: time = datetime.time(datetime.now()) result = _bydate(date.year, date.month, date.day, time.hour, time.minute) diff --git a/program/models.py b/program/models.py index 28a555b..78fc363 100644 --- a/program/models.py +++ b/program/models.py @@ -85,7 +85,7 @@ class Show(models.Model): showinformation = models.ManyToManyField(ShowInformation, blank=True, null=True, related_name='shows', verbose_name=_("Show information")) showtopic = models.ManyToManyField(ShowTopic, blank=True, null=True, related_name='shows', verbose_name=_("Show topic")) musicfocus = models.ManyToManyField(MusicFocus, blank=True, null=True, related_name='shows', verbose_name=_("Music focus")) - name = models.CharField(_("Name"), max_length=256, unique=True) + name = models.CharField(_("Name"), max_length=255, unique=True) slug = models.CharField(_("Slug"), max_length=255, unique=True) image = models.ImageField(_("Image"), blank=True, null=True, upload_to='show_images') short_description = models.CharField(_("Short description"), max_length=64) |