Mercurial > sat_legacy_website
diff sat_website/templatetags/utils.py @ 90:5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 16 Jun 2015 17:23:15 +0200 |
parents | 3d04a955bec4 |
children | 9ae3d9c8b28a |
line wrap: on
line diff
--- a/sat_website/templatetags/utils.py Tue Jun 16 12:35:32 2015 +0200 +++ b/sat_website/templatetags/utils.py Tue Jun 16 17:23:15 2015 +0200 @@ -1,6 +1,6 @@ from django import template from django.forms import RadioSelect, CheckboxInput -from django.utils.translation import get_language, ugettext_lazy +from django.utils.translation import get_language, ugettext_lazy as _ register = template.Library() @register.filter @@ -70,24 +70,34 @@ return result @register.filter -def metadata(data): - """Return a string representation of a metadata dict. +def select_video_path(paths): + """Return the video path matching the current language. - @param data (dict{__proxy__: unicode}): metadata dictionnary + @param paths (dict): dict of video paths. @return: unicode """ - if not data: - return "" lang = get_language() - sep = ugettext_lazy(': ') - items = ["%s%s%s" % (key.translate(lang), sep, value) for key, value in data.iteritems()] - return replace_language_tag("(%s)" % ', '.join(items)) + if lang in paths: + return paths[lang] + return paths.values()[0] @register.filter -def replace_language_tag(text): - """Replace {{LANGUAGE_CODE}} by the current language code. +def metadata(entry): + """Return a string representation of the video metadata. - @param text (unicode): text to process + @param entry (VideoDesc): video entry @return: unicode """ - return text.replace("{{LANGUAGE_CODE}}", get_language()) + sep = _(': ') + lang = get_language() + + def get_item(key, value): + return "%s%s%s" % (key, sep, value) + items = [get_item(key.translate(lang), value) for key, value in entry.data.iteritems()] + try: + lang_key = _(u"language").translate(lang) + lang_value = lang if lang in entry.paths else entry.paths.keys()[0] + items.append(get_item(lang_key, lang_value)) + except AttributeError: + pass + return "(%s)" % ', '.join(items)