summaryrefslogtreecommitdiffstats
path: root/qtip/cli/utils.py
blob: a74732360bfbf8791047bc4b482a19d62b2eb8b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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