summaryrefslogtreecommitdiff
path: root/template.py
diff options
context:
space:
mode:
Diffstat (limited to 'template.py')
-rwxr-xr-xtemplate.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/template.py b/template.py
index aab6fddd..1fdf3b85 100755
--- a/template.py
+++ b/template.py
@@ -2,6 +2,7 @@
import os
import sys
+import re
import gettext
import jinja2
@@ -10,7 +11,8 @@ if len(sys.argv) < 3:
in_file = sys.argv[1]
locale = sys.argv[2]
-out_file = sys.argv[3]
+
+name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups()
tr = gettext.translation("messages",
localedir="locale",
@@ -23,12 +25,19 @@ env.install_gettext_translations(tr, newstyle=True)
tmpl = env.get_template(in_file)
+def self_localized(x):
+ return ".".join((name, x, ext))
+
+def url_localized(my_file):
+ my_name, my_ext = re.match(r"(.*)\.([^.]+)$", my_file).groups()
+ return ".".join((my_name, locale, my_ext))
+
def url(x):
# TODO: look at the app root environment variable
# TODO: check if file exists
return x
import codecs
-f = codecs.open(out_file, "w", "utf-8")
-f.write(tmpl.render(lang=locale, url=url))
+f = codecs.open(".".join((name, locale, ext)), "w", "utf-8")
+f.write(tmpl.render(lang=locale, url=url, self_localized=self_localized, url_localized=url_localized))
f.close()