work on logs, timetable, stats

This commit is contained in:
bkfox
2019-09-08 01:39:40 +02:00
parent 2d21ab2434
commit c68e21ee57
71 changed files with 19683 additions and 710 deletions

View File

@ -2,7 +2,7 @@ import random
from django import template
from aircox.models import Page, Diffusion
from aircox.models import Page, Diffusion, Log
random.seed()
register = template.Library()
@ -24,15 +24,21 @@ def do_update_query(obj, **kwargs):
obj.pop(k)
return obj
@register.filter(name='is_diffusion')
def do_is_diffusion(obj):
return isinstance(obj, Diffusion)
@register.simple_tag(name='unique_id')
def do_unique_id(prefix=''):
value = str(random.random()).replace('.', '')
return prefix + '_' + value if prefix else value
@register.filter(name='get_tracks')
def do_get_tracks(obj):
""" Get a list of track for the provided log, diffusion, or episode """
if isinstance(obj, Log):
return (obj.track,)
if isinstance(obj, Diffusion):
obj = obj.episode
return obj.track_set.all()
@register.simple_tag(name='nav_items', takes_context=True)
@ -42,3 +48,12 @@ def do_nav_items(context, menu, **kwargs):
for item in station.navitem_set.filter(menu=menu)]
# FIXME: used?
@register.simple_tag(name='unique_id')
def do_unique_id(prefix=''):
value = str(random.random()).replace('.', '')
return prefix + '_' + value if prefix else value