Alpha first commit
This commit is contained in:
71
create.py
Executable file
71
create.py
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/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)
|
||||
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('<pre><b>Contenu de', VHOSTNAME, '</b><p>', TEMPLATE, '</p></pre>')
|
||||
|
||||
|
||||
|
||||
print('<br><a href="', PROTO , '://', DOMAIN , '/index.py">Retour</a>', sep='')
|
||||
|
||||
|
||||
printfooter()
|
||||
Reference in New Issue
Block a user