Files
provision_sccp/generate.py
Diederik de Groot 82b5aadc13 Initial check-in
2017-11-13 18:15:58 +01:00

36 lines
1.3 KiB
Python

#!/usr/bin/env python
#from __future__ import absolute_import
import json
import os
import hachoir_regex
with open('config.json') as f:
config = json.load(f)
def generate_regex(subdir):
paths = os.listdir(subdir)
as_regex = [hachoir_regex.parse(path) for path in paths]
return reduce(lambda x, y: x | y, as_regex)
def generate_tftpd_rules(regex, dirname, outfile):
if "tftpd-hpa" in config["generate_config"]:
outfile.write("ri ^{}$ /firmware/{}/\\1\n".format(regex, dirname))
def generate_nginx_rules(regex, dirname, outfile):
if "nginx" in config["generate_config"]:
outfile.write("rewrite ^{}$ /firmware/{}/$1\n".format(regex, dirname))
if __name__ == '__main__':
rootdir = "./tftpboot/firmware/"
tftpd_rules = open("etc/tftpd-hpa/tftpd.rules", "w")
nginx_rules = open("etc/nginx/site-available/nginx.rules", "w")
for subdir in next(os.walk(rootdir))[1]:
regex = generate_regex(os.path.join(rootdir, subdir))
generate_tftpd_rules(regex, os.path.basename(subdir), tftpd_rules)
generate_nginx_rules(regex, os.path.basename(subdir), nginx_rules)
tftpd_rules.close();
nginx_rules.close();
#app.debug = os.environ.get('FLASK_DEBUG', True)
#print config.get["scopes"]