diff --git a/app/configver.py b/app/configver.py
index bae61c9b..dfd75524 100644
--- a/app/configver.py
+++ b/app/configver.py
@@ -62,7 +62,7 @@ if form.getvalue('serv') is not None and form.getvalue('config') is not None:
if master[0] != None:
funct.upload_and_restart(master[0], configver, just_save=save)
- stderr, error = funct.upload_and_restart(serv, configver, just_save=save)
+ stderr = funct.upload_and_restart(serv, configver, just_save=save)
aftersave = 1
diff --git a/app/funct.py b/app/funct.py
index a72c2a7e..6c1fefed 100644
--- a/app/funct.py
+++ b/app/funct.py
@@ -144,34 +144,40 @@ def ssh_connect(serv, **kwargs):
return False
else:
return 'Authentication failed, please verify your credentials'
+ pass
except paramiko.SSHException as sshException:
if kwargs.get('check'):
print('
Unable to establish SSH connection: %s
' % sshException)
return False
else:
return 'Unable to establish SSH connection: %s ' % sshException
+ pass
except paramiko.BadHostKeyException as badHostKeyException:
if kwargs.get('check'):
print('
Unable to verify server\'s host key: %s
' % badHostKeyException)
return False
else:
return 'Unable to verify server\'s host key: %s ' % badHostKeyException
+ pass
except Exception as e:
if e.args[1] == "No such file or directory":
if kwargs.get('check'):
print('
')
else:
error = 'Check the IP of the new server'
+ pass
else:
if kwargs.get('check'):
print('
{}
'.format(e.args[1]))
else:
error = e.args[1]
+ pass
if kwargs.get('check'):
return False
else:
@@ -372,9 +378,9 @@ def show_log(stdout):
for line in stdout:
i = i + 1
if i % 2 == 0:
- print('
' + line + '
')
+ print('
' + escape_html(line) + '
')
else:
- print('
' + line + '
')
+ print('
' + escape_html(line) + '
')
def show_ip(stdout):
for line in stdout:
@@ -418,6 +424,11 @@ def ssh_command(serv, commands, **kwargs):
print('
'+stdout.read().decode(encoding='UTF-8')+'
')
print(stderr.read().decode(encoding='UTF-8'))
-
- ssh.close()
+ try:
+ ssh.close()
+ except:
+ print(ssh)
+ pass
+def escape_html(text):
+ return cgi.escape(text, quote=True)
\ No newline at end of file
diff --git a/app/sql.py b/app/sql.py
index cdd0e434..8ce3037a 100644
--- a/app/sql.py
+++ b/app/sql.py
@@ -120,12 +120,12 @@ def add_server(hostname, ip, group, typeip, enable, master):
try:
cur.execute(sql)
con.commit()
+ return True
except sqltool.Error as e:
print('An error occurred: ' + e.args[0] + ' X')
con.rollback()
return False
- else:
- return True
+
cur.close()
con.close()
@@ -220,29 +220,12 @@ def select_user_name_group(id):
return group
cur.close()
con.close()
-
-def get_groups_select(id, **kwargs):
- print('')
def select_servers(**kwargs):
con, cur = create_db.get_cur()
sql = """select * from servers where enable = '1' ORDER BY groups """
if kwargs.get("server") is not None:
- sql = """select * from servers where hostname='%s' """ % kwargs.get("server")
+ sql = """select * from servers where ip='%s' """ % kwargs.get("server")
if kwargs.get("full") is not None:
sql = """select * from servers ORDER BY groups """
if kwargs.get("get_master_servers") is not None:
@@ -445,85 +428,40 @@ def update_ssh(enable, username, password):
cur.close()
con.close()
-def show_update_servers():
- SERVERS = select_servers()
- print('
')
+ from jinja2 import Environment, FileSystemLoader
+ env = Environment(loader=FileSystemLoader('templates/ajax/'))
+ template = env.get_template('/new_group.html')
+
+ print('Content-type: text/html\n')
+
+ output_from_parsed_template = template.render(groups = select_groups(group=group))
+ print(output_from_parsed_template)
def select_roles(**kwargs):
con, cur = create_db.get_cur()
@@ -552,21 +490,7 @@ def select_roles(**kwargs):
return cur.fetchall()
cur.close()
con.close()
-
-def get_roles_select(id, **kwargs):
- print('')
-
+
form = cgi.FieldStorage()
error_mess = 'All fields must be completed X'
@@ -614,13 +538,10 @@ if form.getvalue('newserver') is not None:
if ip is None or group is None:
print('Content-type: text/html\n')
print(error_mess)
- else:
+ else:
print('Content-type: text/html\n')
- if funct.ssh_connect(ip, check=1):
- if add_server(hostname, ip, group, typeip, enable, master):
- show_update_server(hostname)
- else:
- print('X')
+ if add_server(hostname, ip, group, typeip, enable, master):
+ show_update_server(ip)
if form.getvalue('serverdel') is not None:
print('Content-type: text/html\n')
diff --git a/app/templates/ajax/group_update.html b/app/templates/ajax/group_update.html
new file mode 100644
index 00000000..e53bc0ea
--- /dev/null
+++ b/app/templates/ajax/group_update.html
@@ -0,0 +1,13 @@
+{% for group in groups %}
+
+
+
+
+
+
+
+
+
+
+
+{% endfor %}
\ No newline at end of file
diff --git a/app/templates/ajax/new_group.html b/app/templates/ajax/new_group.html
new file mode 100644
index 00000000..41fb49d9
--- /dev/null
+++ b/app/templates/ajax/new_group.html
@@ -0,0 +1,13 @@
+{% for group in groups %}
+
+
+
+
+
+
+
+
+
+
+
+{% endfor %}
\ No newline at end of file
diff --git a/app/templates/ajax/new_server.html b/app/templates/ajax/new_server.html
new file mode 100644
index 00000000..4fa8d64d
--- /dev/null
+++ b/app/templates/ajax/new_server.html
@@ -0,0 +1,51 @@
+{% for server in servers %}
+
+ {% endfor %}
diff --git a/app/templates/ajax/new_user.html b/app/templates/ajax/new_user.html
new file mode 100644
index 00000000..7fb63e2b
--- /dev/null
+++ b/app/templates/ajax/new_user.html
@@ -0,0 +1,32 @@
+{% for user in users %}
+
+
+
+
+
+
+
+
+
+
+
+
+ {% endfor %}
\ No newline at end of file
diff --git a/app/templates/ajax/server_update.html b/app/templates/ajax/server_update.html
new file mode 100644
index 00000000..57ddd6b2
--- /dev/null
+++ b/app/templates/ajax/server_update.html
@@ -0,0 +1,53 @@
+{% for server in servers %}
+