def get_context_data(self, *args, **kwargs): context = super(Index, self).get_context_data(*args, **kwargs) try: year, month, day = self.kwargs['year'], self.kwargs['month'], self.kwargs['day'] except (ValueError, KeyError): day = date.today() else: try: day = date(int(year), int(month), int(day)) except (ValueError, TypeError): raise Http404 today = date.today() future_date = day + timedelta(days=14) #get a date 14 days out airs = RadioAir.objects.filter(service__in=self.services, date=day).select_related('service').prefetch_related('airing').order_by('service','date','time') if not airs.exists(): raise Http404("Nothing Airing on %s" % day.strftime("%m/%d/%Y")) calendars = generate_calendars(today, future_date) c = { 'airing': airs, 'today': today, 'idealised_day': day, 'calendars': calendars, 'max_days': future_date } context.update(c) return context
def get_context_data(self, *args, **kwargs): context = super(ServiceWeek, self).get_context_data(*args, **kwargs) c = calendar.Calendar(6) cal = c.monthdatescalendar(self.basedate.year, self.basedate.month) # this bit of f*****g sexy code gives me the week I want week = [i for i in cal if self.basedate in i][0] actual_base = week[0] # actual first day of week -- probably self.basedate, but good to be sure airs = RadioAir.objects.select_related('service').prefetch_related('airing').filter(service=self.service, date__range=[week[0],week[len(week)-1]]).order_by('start') last_time = RadioAir.objects.filter(service = self.service).aggregate(latest = Max('date')) if last_time['latest'] == None: latest = today + datetime.timedelta(14) else: latest = last_time['latest'] calendars = generate_calendars(date.today(), latest) c = { 'airing': airs, 'today': date.today(), 'idealised_day': actual_base, 'calendars': calendars, 'max_days': latest, 'week': week, } context.update(c) return context
def get_context_data(self, *args, **kwargs): context = super(Index, self).get_context_data(*args, **kwargs) try: year, month, day = self.kwargs['year'], self.kwargs['month'], self.kwargs['day'] except (ValueError, KeyError): day = date.today() else: try: day = date(int(year), int(month), int(day)) except (ValueError, TypeError): raise Http404 future_date = day + timedelta(days=14) #get a date 14 days out services = Service.objects.filter(active = True, typing = "tv") calendars = generate_calendars(day, future_date) primetime = [{'service': service, 'day': day, 'airing': service.primetime_for_day(day)} for service in services] c = { 'service': None, 'services' : services, 'calendars': calendars, 'max_days': future_date, 'idealised_day': day, 'primetime': primetime, 'today': date.today() } context.update(c) return context
def get_context_data(self, *args, **kwargs): context = super(ChannelWeek, self).get_context_data(*args, **kwargs) try: year, month, day = self.kwargs['year'], self.kwargs['month'], self.kwargs['day'] except (ValueError, KeyError): raise Http404 else: try: basedate = date(int(year), int(month), int(day)) except (TypeError, ValueError): raise Http404 c = calendar.Calendar(6) cal = c.monthdatescalendar(basedate.year, basedate.month) #this bit of f*****g sexy code gives me the week I want week = [i for i in cal if basedate in i][0] services = Service.objects.filter(active = True, typing = "tv") airing = EpisodeAir.objects.select_related().filter(service = self.channel).filter(date__range=[week[0],week[len(week)-1]]).order_by('date','time').values('date','time','episode__id','episode__short_description','episode__season__series__name') last_time = EpisodeAir.objects.filter(service = self.channel).aggregate(latest = Max('date')) if last_time['latest'] is None: latest = basedate + datetime.timedelta(14) else: latest = last_time['latest'] calendars = generate_calendars(date.today(), latest) c = { 'airing': airing, 'service': self.channel, 'services': services, 'calendars': calendars, 'idealised_day': basedate, 'max_days': latest, 'week': week, } context.update(c) return context
def get_context_data(self, *args, **kwargs): context = super(ChannelView, self).get_context_data(*args, **kwargs) try: year, month, day = self.kwargs['year'], self.kwargs['month'], self.kwargs['day'] except (ValueError, KeyError): day = date.today() else: try: day = date(int(year), int(month), int(day)) except (ValueError, TypeError): raise Http404 today = date.today() services = Service.objects.filter(active = True, typing = "tv") airing = EpisodeAir.objects.select_related('service','episode','episode__season','episode__season__series').filter(service = self.channel).filter(date = day).order_by('date','time') if not airing.exists(): raise Http404 last_time = EpisodeAir.objects.filter(service = self.channel).aggregate(latest = Max('date')) if last_time['latest'] is None: latest = today + datetime.timedelta(14) else: latest = last_time['latest'] calendars = generate_calendars(today, latest) c = { 'service': self.channel, 'services' : services, 'calendars': calendars, 'max_days': latest, 'idealised_day': day, 'airing': airing, 'today': today, } context.update(c) return context
def get_context_data(self, *args, **kwargs): context = super(Service, self).get_context_data(*args, **kwargs) try: year, month, day = self.kwargs['year'], self.kwargs['month'], self.kwargs['day'] except (ValueError, KeyError): day = date.today() else: try: day = date(int(year), int(month), int(day)) except (ValueError, TypeError): raise Http404 today = date.today() airs = RadioAir.objects.filter(service=self.service, date=day).prefetch_related('airing').order_by('date','time') if not airs.exists(): raise Http404("Nothing Airing on %s" % day.strftime("%m/%d/%Y")) last_time = RadioAir.objects.filter(service = self.service).aggregate(latest = Max('date')) if last_time['latest'] == None: latest = today + datetime.timedelta(14) else: latest = last_time['latest'] calendars = generate_calendars(today, latest) c = { 'airing': airs, 'today': today, 'idealised_day': day, 'calendars': calendars, 'max_days': latest } context.update(c) return context