feat: click cli
This commit is contained in:
30
main.py
30
main.py
@@ -1,14 +1,22 @@
|
|||||||
from jinja2 import Environment, FileSystemLoader, meta
|
from jinja2 import Environment, FileSystemLoader, meta
|
||||||
|
import click
|
||||||
|
|
||||||
env = Environment(loader=FileSystemLoader('.'))
|
@click.command()
|
||||||
filename = 'index.html'
|
@click.option('--output', '-o', default='output.html', help='Name of Output File')
|
||||||
# get undeclared variables
|
def main(output):
|
||||||
template_source = env.loader.get_source(env, filename)
|
env = Environment(loader=FileSystemLoader('.'))
|
||||||
parsed_content = env.parse(template_source)
|
filename = 'index.html'
|
||||||
vars = meta.find_undeclared_variables(parsed_content)
|
# get undeclared variables
|
||||||
vars = dict.fromkeys(sorted(vars), None)
|
template_source = env.loader.get_source(env, filename)
|
||||||
for var in vars:
|
parsed_content = env.parse(template_source)
|
||||||
|
vars = meta.find_undeclared_variables(parsed_content)
|
||||||
|
vars = dict.fromkeys(sorted(vars), None)
|
||||||
|
for var in vars:
|
||||||
vars[var] = input(var+ ' :')
|
vars[var] = input(var+ ' :')
|
||||||
# render template
|
# render template
|
||||||
template = env.get_template(filename)
|
template = env.get_template(filename)
|
||||||
print(template.render(vars))
|
with open(output,'w') as out:
|
||||||
|
out.write(template.render(vars))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user