Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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       
Пример #5
0
    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     
Пример #6
0
    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