3 changed files with 83 additions and 33 deletions
@ -0,0 +1,75 @@
|
||||
import psycopg2 as pg2 |
||||
from config import config |
||||
|
||||
db_name = config['db']['db_name'] |
||||
db_user = config['db']['db_user'] |
||||
db_password = config['db']['db_password'] |
||||
db_port = config['db']['db_port'] |
||||
|
||||
#with open("list") as data: |
||||
# lines = data.readlines() |
||||
|
||||
#numbers=[] |
||||
#for line in lines: |
||||
# numbers.append(line.split()) |
||||
|
||||
#conn = pg2.connect("host = localhost dbname={} user={} password={} port={}".format(db_name,db_user,db_password,db_port)) |
||||
|
||||
#conn.autocommit = True |
||||
#cur = conn.cursor() |
||||
|
||||
|
||||
def setconn(u_id, vm_num, vm_port,vm_host): |
||||
conn = pg2.connect("host = localhost dbname={} user={} password={} port={}".format(db_name,db_user,db_password,db_port)) |
||||
conn.autocommit = True |
||||
cur = conn.cursor() |
||||
#for con in numbers: |
||||
#u_id = con[0] |
||||
#vm_num = con[1] |
||||
#vm_port = con[2] |
||||
#vm_host = con[3] |
||||
cur.execute("SELECT entity_id FROM guacamole_entity WHERE name = '{}'".format(u_id)) |
||||
row = cur.fetchone() |
||||
if row == None: |
||||
cur.execute("INSERT INTO guacamole_entity (name, type) VALUES ('{}','USER')".format(u_id)) |
||||
cur.execute("SELECT entity_id FROM guacamole_entity WHERE name = '{}'".format(u_id)) |
||||
row = cur.fetchone() |
||||
en_id = row[0] |
||||
cur.execute("INSERT INTO guacamole_user(entity_id, password_hash, password_date) VALUES ('{}', '\x74657374', now())".format(en_id)) |
||||
print("create user : " , u_id) |
||||
else: |
||||
en_id = row[0] |
||||
cur.execute("SELECT password_hash FROM guacamole_user WHERE entity_id = '{}'".format(en_id)) |
||||
row = cur.fetchone() |
||||
if row == None: |
||||
cur.execute("INSERT INTO guacamole_user(entity_id, password_hash, password_date) VALUES ('{}', '\x74657374', now())".format(en_id)) |
||||
print("user exsit") |
||||
cn = "{}{}".format(u_id,vm_num) |
||||
cur.execute("SELECT connection_id FROM guacamole_connection WHERE connection_name = '{}'".format(cn)) |
||||
row = cur.fetchone() |
||||
if row == None: |
||||
#create connection |
||||
cur.execute("INSERT INTO guacamole_connection (connection_name, protocol) VALUES ('{}', 'vnc')".format(cn)) |
||||
cur.execute("SELECT MAX(connection_id) FROM guacamole_connection WHERE connection_name = '{}' AND parent_id IS NULL".format(cn)) |
||||
temp_cn_id = cur.fetchone() |
||||
cn_id = temp_cn_id[0] |
||||
cur.execute("INSERT INTO guacamole_connection_parameter VALUES ('{}','hostname','{}')".format(cn_id, vm_host)) |
||||
cur.execute("INSERT INTO guacamole_connection_parameter VALUES ('{}','port','{}')".format(cn_id,vm_port)) |
||||
#connection permission |
||||
cur.execute("INSERT INTO guacamole_connection_permission(entity_id, connection_id, permission) VALUES ('{}', '{}', 'READ')".format(en_id,cn_id)) |
||||
#clipboard-encoding |
||||
cur.execute("INSERT INTO guacamole_connection_parameter VALUES ('{}','clipboard-encoding','UTF-8')".format(cn_id)) |
||||
print("create connection") |
||||
else: |
||||
cur.execute("SELECT MAX(connection_id) FROM guacamole_connection WHERE connection_name = '{}' AND parent_id IS NULL".format(cn)) |
||||
temp_cn_id = cur.fetchone() |
||||
cn_id = temp_cn_id[0] |
||||
cur.execute("UPDATE guacamole_connection_parameter SET parameter_value='{}' where connection_id='{}' and parameter_name='hostname'".format(vm_host,cn_id)) |
||||
cur.execute("UPDATE guacamole_connection_parameter SET parameter_value='{}' where connection_id='{}' and parameter_name='port'".format(vm_port,cn_id)) |
||||
#cur.execute("UPDATE guacamole_connection_parameter SET parameter_value='UTF-8' where connection_id='{}' and parameter_name='clipboard-encoding'".format(cn_id)) |
||||
print("no connection") |
||||
conn.close() |
||||
return None |
||||
|
||||
#print("test") |
||||
#conn.close() |
Loading…
Reference in new issue