feat: click cli

This commit is contained in:
eneller
2025-04-04 12:27:23 +02:00
parent 4c6ab53417
commit 9d16098f96

30
main.py
View File

@@ -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()