Loading README.rst +14 −2 Original line number Diff line number Diff line Loading @@ -8,13 +8,25 @@ Example .. code:: shell $ template -h usage: template [-h] [-o OUTPUT] [filename] positional arguments: filename Input filename optional arguments: -h, --help show this help message and exit -o OUTPUT, --output OUTPUT Output to filename $ export name='John' $ echo 'Hello {{ name if name is defined else 'world' }}. | template Hello John. $ echo '{{ USER }}' > username.j2 $ template --output username.txt username.j2 $ cat username John TODO ---- - Input/output detection/redirection. - Complex data types (process environment variables, Jinja filters). VERSION +1 −1 Original line number Diff line number Diff line 0.1.0 No newline at end of file 0.2.0 No newline at end of file template/__init__.py +15 −7 Original line number Diff line number Diff line Loading @@ -5,7 +5,9 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) from jinja2 import Template from os import environ from sys import stdin from sys import stdin, stdout import argparse from argparse import ArgumentParser def render(template): Loading @@ -13,13 +15,19 @@ def render(template): return t.render(environ) def usage(): raise NotImplemented def main(): template = stdin.read() print(render(template)) parser = ArgumentParser() parser.add_argument('filename', help='Input filename', type=argparse.FileType('r'), nargs='?') parser.add_argument('-o', '--output', help='Output to filename', type=argparse.FileType('w')) args = parser.parse_args() infd = args.filename if args.filename else stdin outfd = args.output if args.output else stdout print(render(infd.read()), file=outfd) if __name__ == '__main__': main() template/filters.py 0 → 100644 +25 −0 Original line number Diff line number Diff line #!/usr/bin/env python def to_yaml(value): raise NotImplemented def to_json(value): raise NotImplemented def from_json(value): raise NotImplemented def from_yaml(value): raise NotImplemented def pprint(value): raise NotImplemented def combine(lefthand, righthand): raise NotImplemented tests.sh +8 −1 Original line number Diff line number Diff line #!/bin/sh -e test "$(echo '{{ name }}' | name='Nimrod' template)" = "Nimrod" export name='John' test "$(echo 'Hello {{ name if name is defined else 'world' }}.' | template)" = "Hello John." export infile="$(mktemp)" export outfile="$(mktemp)" echo '{{ USER }}' > "$infile" template --output "$outfile" "$infile" test "$(cat $outfile)" = "$USER" rm "$infile" "$outfile" Loading
README.rst +14 −2 Original line number Diff line number Diff line Loading @@ -8,13 +8,25 @@ Example .. code:: shell $ template -h usage: template [-h] [-o OUTPUT] [filename] positional arguments: filename Input filename optional arguments: -h, --help show this help message and exit -o OUTPUT, --output OUTPUT Output to filename $ export name='John' $ echo 'Hello {{ name if name is defined else 'world' }}. | template Hello John. $ echo '{{ USER }}' > username.j2 $ template --output username.txt username.j2 $ cat username John TODO ---- - Input/output detection/redirection. - Complex data types (process environment variables, Jinja filters).
VERSION +1 −1 Original line number Diff line number Diff line 0.1.0 No newline at end of file 0.2.0 No newline at end of file
template/__init__.py +15 −7 Original line number Diff line number Diff line Loading @@ -5,7 +5,9 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) from jinja2 import Template from os import environ from sys import stdin from sys import stdin, stdout import argparse from argparse import ArgumentParser def render(template): Loading @@ -13,13 +15,19 @@ def render(template): return t.render(environ) def usage(): raise NotImplemented def main(): template = stdin.read() print(render(template)) parser = ArgumentParser() parser.add_argument('filename', help='Input filename', type=argparse.FileType('r'), nargs='?') parser.add_argument('-o', '--output', help='Output to filename', type=argparse.FileType('w')) args = parser.parse_args() infd = args.filename if args.filename else stdin outfd = args.output if args.output else stdout print(render(infd.read()), file=outfd) if __name__ == '__main__': main()
template/filters.py 0 → 100644 +25 −0 Original line number Diff line number Diff line #!/usr/bin/env python def to_yaml(value): raise NotImplemented def to_json(value): raise NotImplemented def from_json(value): raise NotImplemented def from_yaml(value): raise NotImplemented def pprint(value): raise NotImplemented def combine(lefthand, righthand): raise NotImplemented
tests.sh +8 −1 Original line number Diff line number Diff line #!/bin/sh -e test "$(echo '{{ name }}' | name='Nimrod' template)" = "Nimrod" export name='John' test "$(echo 'Hello {{ name if name is defined else 'world' }}.' | template)" = "Hello John." export infile="$(mktemp)" export outfile="$(mktemp)" echo '{{ USER }}' > "$infile" template --output "$outfile" "$infile" test "$(cat $outfile)" = "$USER" rm "$infile" "$outfile"