Example #1
0
 def testInitDefaults(self):
     """
     Unit-tests for uktils.templatetags.init_defaults
     """
     self.assertEquals(tt.init_defaults(debug=False, show_value=False), ('', u''))
     self.assertEquals(tt.init_defaults(debug=False, show_value=True), ('%(value)s', u'%(value)s'))
     self.assertEquals(tt.init_defaults(debug=True, show_value=False), ('unknown: %(error)s', u'unknown: %(error)s'))
     self.assertEquals(tt.init_defaults(debug=True, show_value=True), ('unknown: %(error)s', u'unknown: %(error)s'))
Example #2
0
uktils.numeral templatetags for Django web-framework
"""

from django import template, conf
from uktils import numeral
from uktils.utils import str2bool
from uktils.templatetags import pseudo_str, pseudo_unicode, init_defaults

register = template.Library()  #: Django template tag/filter registrator
encoding = conf.settings.DEFAULT_CHARSET  #: Current charset (sets in Django project's settings)
debug = conf.settings.DEBUG  #: Debug mode (sets in Django project's settings)
show_value = getattr(
    conf.settings, "UKTILS_SHOW_VALUES_ON_ERROR", False
)  #: Show values on errors (sets in Django project's settings)

default_value, default_uvalue = init_defaults(debug, show_value)

# -- filters


def choose_plural(amount, variants):
    """
    Choose proper form for plural.

    Value is a amount, parameters are forms of noun.
    Forms are variants for 1, 2, 5 nouns. It may be tuple
    of elements, or string where variants separates each other
    by comma.

    Examples::
        {{ some_int|choose_plural:"пример,примера,примеров" }}