# Custom Filters
env.filters |= {
- "avatar_url" : filters.avatar_url,
- "email_address" : filters.email_address,
- "email_name" : filters.email_name,
- "file_mode" : filters.file_mode,
- "format_asn" : filters.format_asn,
- "format_date" : filters.format_date,
- "format_day" : filters.format_day,
- "format_time" : filters.format_time,
- "highlight" : filters.highlight,
- "hostname" : filters.hostname,
- "markdown" : filters._markdown,
- "static_url" : filters.static_url,
- "summary" : filters.summary,
+ "avatar_url" : filters.avatar_url,
+ "email_address" : filters.email_address,
+ "email_name" : filters.email_name,
+ "file_mode" : filters.file_mode,
+ "format_asn" : filters.format_asn,
+ "format_country_code" : filters.format_country_code,
+ "format_date" : filters.format_date,
+ "format_day" : filters.format_day,
+ "format_time" : filters.format_time,
+ "highlight" : filters.highlight,
+ "hostname" : filters.hostname,
+ "markdown" : filters._markdown,
+ "static_url" : filters.static_url,
+ "summary" : filters.summary,
# Add some Python built-ins
- "dir" : dir,
- "enumerate" : enumerate,
- "range" : range,
+ "dir" : dir,
+ "enumerate" : enumerate,
+ "range" : range,
}
return JinjaTemplateLoader(env)
# #
###############################################################################
+import babel
import babel.dates
import datetime
import email.utils
return "%s" % (o or asn)
+@jinja2.pass_context
+def format_country_code(ctx, country_code):
+ # Fetch locale
+ locale = ctx.get("locale")
+
+ # Fetch the translation function
+ _ = locale.translate
+
+ # Fetch the Babel locale
+ locale = babel.Locale(locale.code)
+
+ try:
+ return locale.territories[country_code]
+ except KeyError:
+ return _("- Unknown Country -")
+
@jinja2.pass_context
def format_date(ctx, *args, **kwargs):
# Fetch locale