X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/070d93a055b8dfd594664db308b310785d59af70..876c24227952faa17eda5d706cb0b3316d5ffe24:/apps/stats/templatetags/stats.py diff --git a/apps/stats/templatetags/stats.py b/apps/stats/templatetags/stats.py new file mode 100755 index 000000000..d13b9f67a --- /dev/null +++ b/apps/stats/templatetags/stats.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import feedparser +import datetime + +from django import template + +from catalogue.models import Book, BookMedia + + +register = template.Library() + +#~ +#~ @register.tag(name='captureas') +#~ def do_captureas(parser, token): + #~ try: + #~ tag_name, args = token.contents.split(None, 1) + #~ except ValueError: + #~ raise template.TemplateSyntaxError("'captureas' node requires a variable name.") + #~ nodelist = parser.parse(('endcaptureas',)) + #~ parser.delete_first_token() + #~ return CaptureasNode(nodelist, args) + +class StatsNode(template.Node): + def __init__(self, value, varname=None): + self.value = value + self.varname = varname + + def render(self, context): + print self.varname + if self.varname: + context[self.varname] = self.value + return '' + else: + return self.value + + + +#~ @register.tag +#~ def count_books_all(*args, **kwargs): + #~ print args, kwargs + #~ return StatsNode(Book.objects.all().count()) + +@register.tag +def count_books_nonempty(parser, token): + try: + tag_name, args = token.contents.split(None, 1) + except ValueError: + args = None + return StatsNode(Book.objects.exclude(html_file='').count(), args) + +#~ @register.simple_tag +#~ def count_books_empty(): + #~ return Book.objects.exclude(html_file='').count() +#~ +#~ @register.simple_tag +#~ def count_books_root(): + #~ return Book.objects.filter(parent=None).count()