From b62fddbc687d025f75efb0365e0c9ea5be2c051a Mon Sep 17 00:00:00 2001 From: Adar Nimrod Date: Wed, 9 Nov 2016 07:59:27 +0200 Subject: [PATCH] - Updated documentation, tests. --- README.rst | 20 ++++++++++++-------- template/__init__.py | 4 +++- template/filters.py | 6 +++--- tests.sh | 2 ++ 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/README.rst b/README.rst index b65a8de..10ea16a 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,8 @@ Template ######## -A CLI tool for generating files from Jinja2 templates and environment variables. +A CLI tool for generating files from Jinja2 templates and environment +variables. Examples -------- @@ -11,6 +12,9 @@ Examples $ template -h usage: template [-h] [-o OUTPUT] [filename] + A CLI tool for generating files from Jinja2 templates and environment + variables. + positional arguments: filename Input filename @@ -23,7 +27,7 @@ Examples Hello John. $ echo '{{ USER }}' > username.j2 $ template --output username.txt username.j2 - $ cat username + $ cat username.txt John @@ -32,12 +36,12 @@ Jinja filters The following Jinja filters were added: -- to_yaml: Convert to yaml. -- from_yaml: Convert from yaml. -- to_json: Convert to json. -- from_json: Convert from json. -- pprint: Pretty print variable. -- combine: Combine 2 dictionaries. +- :code:`to_yaml`: Convert to yaml. +- :code:`from_yaml`: Convert from yaml. +- :code:`to_json`: Convert to json. +- :code:`from_json`: Convert from json. +- :code:`pprint`: Pretty print variable. +- :code:`combine`: Combine 2 dictionaries. Example usage can be seen in :code:`tests.sh`. diff --git a/template/__init__.py b/template/__init__.py index f476a5c..3b0e567 100755 --- a/template/__init__.py +++ b/template/__init__.py @@ -21,7 +21,9 @@ def render(template_string): def main(): - parser = ArgumentParser() + parser = ArgumentParser( + description='''A CLI tool for generating files from Jinja2 templates + and environment variables.''') parser.add_argument('filename', help='Input filename', type=argparse.FileType('r'), diff --git a/template/filters.py b/template/filters.py index 4fb5250..018c9ac 100644 --- a/template/filters.py +++ b/template/filters.py @@ -26,7 +26,7 @@ def pprint(value): return pformat(value) -def combine(lefthand, righthand): - combined = lefthand.copy() - combined.update(righthand) +def combine(default, override): + combined = default.copy() + combined.update(override) return combined diff --git a/tests.sh b/tests.sh index 2566714..ee620fb 100755 --- a/tests.sh +++ b/tests.sh @@ -36,5 +36,7 @@ echo '{{ [1, ] + [2, ] }}' > "$infile" test "$(template $infile)" = "[1, 2]" echo Testing combining dictionaries. +echo '{{ {"a": 1, "b": 2}|combine({"a": 11, "c": 33}) }}' > "$infile" +test "$(template $infile)" = "{'a': 11, 'c': 33, 'b': 2}" rm "$infile" "$outfile" -- GitLab