37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from vars import VARS
|
|
|
|
import os
|
|
import jinja2
|
|
import subprocess
|
|
|
|
PROJECT_PATH = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
print('PROJECT_PATH: {}'.format(PROJECT_PATH))
|
|
|
|
template_path = os.path.join(PROJECT_PATH, 'conf/templates')
|
|
template_loader = jinja2.FileSystemLoader(searchpath=template_path)
|
|
template_env = jinja2.Environment(loader=template_loader)
|
|
|
|
|
|
def render_template(src, dest, template_vars=None):
|
|
"""
|
|
:param src: relative string path to jinja template file
|
|
:param dest: absolute string path of output destination file
|
|
:param template_vars: variables to render template with
|
|
:return: None
|
|
"""
|
|
template = template_env.get_template(src)
|
|
if template_vars:
|
|
template_vars.update(VARS)
|
|
else:
|
|
template_vars = VARS
|
|
output_text = template.render(template_vars=template_vars)
|
|
if os.path.exists(dest):
|
|
os.remove(dest)
|
|
with open(dest, 'w') as f:
|
|
f.write(output_text)
|
|
|
|
|
|
def cargo_install(package):
|
|
subprocess.call(['/root/.cargo/bin/cargo', 'install', package])
|
|
|