60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
import sys
|
|
import socket
|
|
import os
|
|
import base64
|
|
import psycopg2
|
|
import psycopg2.extras
|
|
|
|
IPAddr=socket.gethostbyname(socket.gethostname())
|
|
print(IPAddr)
|
|
if IPAddr[0:11] == "100.100.100": #4269
|
|
host = "100.100.100.11"
|
|
port = "5432"
|
|
dbname = "sig4269"
|
|
sigdb="sig4269"
|
|
refdb="ref_geo4269"
|
|
password = "McVities"
|
|
elif IPAddr[0:9] == "192.168.0": #01
|
|
host = "192.168.0.201"
|
|
port = "5432"
|
|
dbname = "sig01"
|
|
sigdb="sig01"
|
|
refdb="ref_geo01"
|
|
password = "McVities"
|
|
elif IPAddr[0:9] == "192.168.1": #0726
|
|
host = "192.168.1.201"
|
|
port = "5432"
|
|
dbname = "sig0726"
|
|
sigdb="sig0726"
|
|
refdb="ref_geo0726"
|
|
password = "McVities"
|
|
if sys.platform == 'linux':
|
|
os_user = os.environ['USER']
|
|
else:
|
|
os_user = os.environ['USERNAME']
|
|
if os_user == 'STAGE':
|
|
os_user='stage'
|
|
if os_user == 'Administrateur':
|
|
os_user = 'stage'
|
|
|
|
|
|
def login_base(take=None):
|
|
first_conn = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=first_cnx password=" + password)
|
|
first_cur = first_conn.cursor(cursor_factory = psycopg2.extras.DictCursor)
|
|
first_cur.execute("SELECT mdp_w, login_w FROM pg_catalog.pg_user t1, admin_sig.vm_users_sig t2 WHERE t2.oid = t1.usesysid AND (login_w = '" + os_user + "' OR login_w = '" + os_user + "')")
|
|
res_ident = first_cur.fetchone()
|
|
mdp = base64.b64decode(str(res_ident[0])).decode('utf-8')
|
|
user = res_ident[1]
|
|
|
|
con = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=" + user + " password=" + mdp)
|
|
|
|
cur = con.cursor(cursor_factory = psycopg2.extras.DictCursor)
|
|
first_conn.close()
|
|
|
|
if take == 'account':
|
|
return user,mdp,host,port,dbname,sigdb,refdb
|
|
if take:
|
|
return cur,con
|
|
else:
|
|
return cur
|