2021-01-26 22:06:39 +01:00
|
|
|
#!/usr/bin/python
|
|
|
|
|
|
|
|
import mariadb
|
|
|
|
from pbkdf2 import crypt
|
|
|
|
import argparse
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser(description='asadduser')
|
|
|
|
parser.add_argument('--user', '-u',
|
|
|
|
help='Login',
|
|
|
|
required=True)
|
|
|
|
parser.add_argument('--password', '-p',
|
|
|
|
help='Password',
|
|
|
|
required=True)
|
|
|
|
parser.add_argument('--application', '-a',
|
|
|
|
help='Application',
|
|
|
|
required=True)
|
|
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
user = args.user
|
|
|
|
password = args.password
|
|
|
|
application = args.application
|
|
|
|
|
|
|
|
|
|
|
|
DB_USER = os.environ["DB_USER"]
|
|
|
|
DB_PASS = os.environ["DB_PASS"]
|
|
|
|
DB_HOST = os.environ["DB_HOST"]
|
|
|
|
DB_NAME = os.environ["DB_NAME"]
|
|
|
|
|
|
|
|
pwhash = crypt(password, iterations=100000)
|
|
|
|
|
|
|
|
conn = None
|
|
|
|
cur = None
|
|
|
|
try:
|
|
|
|
conn = mariadb.connect(user = DB_USER, password = DB_PASS,
|
|
|
|
host = DB_HOST, database = DB_NAME)
|
|
|
|
conn.autocommit = False
|
|
|
|
|
|
|
|
cur = conn.cursor()
|
|
|
|
cur.execute("""
|
2021-01-27 11:02:19 +01:00
|
|
|
INSERT INTO users (login, pwhash)
|
2021-01-27 10:57:54 +01:00
|
|
|
VALUES(?, ?)
|
|
|
|
""", [user, pwhash])
|
2021-01-26 22:06:39 +01:00
|
|
|
cur.execute("""
|
|
|
|
INSERT INTO user_applications_mapping (application, user)
|
|
|
|
VALUES(
|
|
|
|
(SELECT id FROM applications WHERE name = ?),
|
|
|
|
(SELECT id FROM users WHERE login = ?)
|
|
|
|
)
|
|
|
|
""", [application, user])
|
|
|
|
conn.commit()
|
|
|
|
finally:
|
|
|
|
if cur:
|
|
|
|
cur.close()
|
|
|
|
if conn:
|
|
|
|
conn.rollback()
|
|
|
|
conn.close()
|
|
|
|
|