forked from rc/aircox
		
	redesign default layout; add new sections type (Timetable, Logs, Search); fix multiple things & minors changes in some sections; new settings for referencing; new templates for date_list's items; etc
This commit is contained in:
		@ -20,6 +20,7 @@ from django.db import models
 | 
			
		||||
from django.contrib.contenttypes.fields import GenericForeignKey
 | 
			
		||||
from django.contrib.contenttypes.models import ContentType
 | 
			
		||||
from django.utils.translation import ugettext as _, ugettext_lazy
 | 
			
		||||
from django.utils import timezone as tz
 | 
			
		||||
 | 
			
		||||
import aircox.programs.models as programs
 | 
			
		||||
from aircox.programs.utils import to_timedelta
 | 
			
		||||
@ -176,14 +177,15 @@ class Station(programs.Nameable):
 | 
			
		||||
        for diff in diffs:
 | 
			
		||||
            logs_ = \
 | 
			
		||||
                logs.filter(date__gt = diff.end, date__lt = diff_.start) \
 | 
			
		||||
                    if diff_ else logs.filter(date__gt = diff.end)
 | 
			
		||||
                    if diff_ else \
 | 
			
		||||
                logs.filter(date__gt = diff.end)
 | 
			
		||||
            diff_ = diff
 | 
			
		||||
            items.extends(logs_)
 | 
			
		||||
            items.extend(logs_)
 | 
			
		||||
            items.append(diff)
 | 
			
		||||
            if count and len(items) >= count:
 | 
			
		||||
                break
 | 
			
		||||
 | 
			
		||||
        if diff_ and not count or len(items) <= count:
 | 
			
		||||
        if diff_ and (not count or len(items) <= count):
 | 
			
		||||
            logs_ = logs.filter(date__lt = diff_.end)
 | 
			
		||||
            items.extend(logs_)
 | 
			
		||||
 | 
			
		||||
@ -207,19 +209,22 @@ class Station(programs.Nameable):
 | 
			
		||||
        # FIXME: as an iterator?
 | 
			
		||||
        # TODO argument to get sound instead of tracks
 | 
			
		||||
        # TODO #Station
 | 
			
		||||
        date = date or tz.now().date()
 | 
			
		||||
        if date > datetime.date.today():
 | 
			
		||||
        if date and date > datetime.date.today():
 | 
			
		||||
            return []
 | 
			
		||||
 | 
			
		||||
        logs = Log.objects.get_for(model = programs.Track) \
 | 
			
		||||
                  .filter(station = self) \
 | 
			
		||||
                  .order_by('-date')
 | 
			
		||||
        diffs = programs.Diffusion.objects \
 | 
			
		||||
                    .filter(type = Diffusion.Type.normal) \
 | 
			
		||||
                    .order_by('-date')
 | 
			
		||||
 | 
			
		||||
        if date:
 | 
			
		||||
            logs = logs.filter(date__contains = date)
 | 
			
		||||
            diffs = diffs.get_at(date)
 | 
			
		||||
            diffs = programs.Diffusion.objects.get_at(date)
 | 
			
		||||
        else:
 | 
			
		||||
            diffs = programs.Diffusion.objects
 | 
			
		||||
 | 
			
		||||
        diffs = diffs.filter(type = programs.Diffusion.Type.normal) \
 | 
			
		||||
                     .filter(start__lte = tz.now()) \
 | 
			
		||||
                     .order_by('-start')
 | 
			
		||||
        return self.__mix_logs_and_diff(diffs, logs, count)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user