diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb477bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.pyc +*.egg +*.egg-info diff --git a/tests/test_extract.py b/tests/test_extract.py index b9a3075..ecd76a9 100644 --- a/tests/test_extract.py +++ b/tests/test_extract.py @@ -68,6 +68,20 @@ def test_nested_extract(self): self.assertEqual(string[1], '_') # Function name self.assertEqual(string[2], "Test String") # Translatable string + def test_custom_keyword_extract(self): + template = StringIO(""" + {{ _C("Test String") }} + {{ something }} + {% block something %}{% end %} + """) + strings = list(extract_tornado(template, ('_C', ), None, {})) + self.assertEqual(len(strings), 1) + + # Ensure that the string is correct + string, = strings + self.assertEqual(string[0], 2) # Line number + self.assertEqual(string[1], '_C') # Custom function name + self.assertEqual(string[2], "Test String") # Translatable string if __name__ == "__main__": unittest.main() diff --git a/tornadobabel/extract.py b/tornadobabel/extract.py index e30f7ee..d77e486 100644 --- a/tornadobabel/extract.py +++ b/tornadobabel/extract.py @@ -117,7 +117,7 @@ def extract_tornado(fileobj, keywords, comment_tags, options): for node in walk(template.file): if isinstance(node, _Expression): - for lineno, func, message in extract_from_node(node): + for lineno, func, message in extract_from_node(node, keywords): # TODO: Implement the comment feature, right now an empty # iterable is returned yield lineno, func, message, []