from tag_utils import define_parsed_tag 
from radio.logs.models import Entry
from django import template
import datetime
register = template.Library()

def playlist_table(when=None, how_many=5):
    if when is None:
        when = datetime.datetime.now()
    objects = Entry.objects.all().order_by('-submitted')[:int(how_many)]
    return {
        'logs':objects
    }

def grab_latest_logs(context, target, number=None):
    if number is None:
        number = 30
    now = datetime.datetime.now()
    logs = Entry.objects.filter(submitted__lte=now).order_by('-submitted')[:number]
    context.update({
        str(target):logs,
    })
    return u''

define_parsed_tag(register, grab_latest_logs, "(get <number:int> )as <target:var>")
playlist_table = register.inclusion_tag('logs/includes/playlist.html')(playlist_table)
Exemple #2
0
from tag_utils import define_parsed_tag, define_parsed_block
from django import template

register = template.Library()


def test_parsed(context, arg1, arg2, asvar=None):
    if asvar is None:
        asvar = "<None>"
    return u"%d %s as %s" % (arg1, arg2, asvar)


def test_kwargs(context, yarg):
    return u"%s" % yarg


def test_block(context, nodelist, **kwargs):
    output = ["starting test_block<br />"]
    context.push()
    context.update(kwargs)
    output.append(nodelist.render(context))
    context.pop()
    output.append("exiting test_block")
    return "\n".join(output)


define_parsed_tag(register, test_parsed, r"<arg1:int> <arg2:string>( as <asvar:var>)")
define_parsed_tag(register, test_kwargs, r"<kw:kwarg>")
define_parsed_block(register, test_block, r"<kw:kwarg>")
from django import template
from tag_utils import define_parsed_tag
from radio.frontend.models import Ad
import datetime
import random
register = template.Library()

def get_random_ad(context, asvar):
    now = datetime.datetime.now()
    ads = Ad.objects.filter(start_date__lte=now, end_date__gte=now)
    num_ads = len(ads)
    rand_index = int(random.random() * num_ads)
    if num_ads:
        context[str(asvar)] = ads[rand_index]
    return u''

define_parsed_tag(register, get_random_ad, 'as <asvar:var>')