#!/usr/bin/python3.5 import cgi import cgitb cgitb.enable() import re import configparser from functions.headfoot import printheader,printfooter from functions.htmlsyntaxfc import htmlsyntax import subprocess import os # IMPORT DE LA CONFIGURATION config = configparser.ConfigParser() config.read('config.conf') DOMAIN = config.get('general','domain') TEMPLATEPATH = config.get('general','templatepath') PROTO = config.get('general','proto') VHOSTPATH = '/etc/apache2/sites-available/' fs = cgi.FieldStorage() VHOSTNAME= fs.getvalue('VHOSTNAME') # EXTRACTION DES VARIABLES TEMPLATEFILE = open(TEMPLATEPATH, "r") TEMPLATE = TEMPLATEFILE.read() ALLVARIABLES = re.findall(r'\$\$\w+', TEMPLATE) VARIABLES = "" for i in ALLVARIABLES: if VARIABLES.find(i) == -1: VARIABLES = VARIABLES +" "+ i VARIABLES = re.sub('[$$]', '', VARIABLES) #######TODO REMPLACER LA TEMPLATE for i in VARIABLES.split(): j = '$$' + i key = fs.getvalue(i) if key is None: TEMPLATE = TEMPLATE.replace(j,'') else: TEMPLATE = TEMPLATE.replace(j, key) #######TODO ECRIRE LE FICHIER VHOSTFILE = open(VHOSTPATH + VHOSTNAME, 'w') VHOSTFILE.write(TEMPLATE) VHOSTFILE.close() FNULL = open(os.devnull, 'w') trash = subprocess.call(['/usr/bin/sudo', '/usr/sbin/a2ensite' , VHOSTNAME], stdout=FNULL, stderr=subprocess.STDOUT) trash = subprocess.call(['/usr/bin/sudo','/bin/systemctl','reload','apache2'], stdout=FNULL, stderr=subprocess.STDOUT) TEMPLATE = htmlsyntax(TEMPLATE) #######TODO GENERATION DES LETSENCRYPT printheader() # BODY print('
Contenu de', VHOSTNAME, '

', TEMPLATE, '

') print('
Retour', sep='') printfooter()