diff options
Diffstat (limited to 'qtip/cli/utils.py')
-rw-r--r-- | qtip/cli/utils.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/qtip/cli/utils.py b/qtip/cli/utils.py new file mode 100644 index 00000000..a7473236 --- /dev/null +++ b/qtip/cli/utils.py @@ -0,0 +1,31 @@ +############################################################################## +# Copyright (c) 2017 taseer94@gmail.com and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +from jinja2 import Environment +from jinja2 import FileSystemLoader +from os import path +from prettytable import PrettyTable + + +def table(name, components): + """ Return a PrettyTable for component listing """ + table = PrettyTable([name]) + table.align[name] = 'l' + [table.add_row([component['name'][0:-5]]) for component in components] + return table + + +def render(name, var_dict): + """ Get the templates to render for specific component """ + tmpl_path = path.join(path.dirname(__file__), 'templates') + tmpl_loader = FileSystemLoader(tmpl_path) + env = Environment(loader=tmpl_loader) + template = env.get_template('{}.j2'.format(name)) + result = template.render(var_dict) + return result |