add tool
This commit is contained in:
parent
22bcecc9b3
commit
52cee7a950
57
tools/addmosquser.py
Executable file
57
tools/addmosquser.py
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import mariadb
|
||||||
|
from pbkdf2 import crypt
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='addmosquser')
|
||||||
|
parser.add_argument('--user', '-u',
|
||||||
|
help='Login',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--password', '-p',
|
||||||
|
help='Password',
|
||||||
|
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("""
|
||||||
|
INSERT INTO users (login, pwhash)
|
||||||
|
VALUES(?, ?)
|
||||||
|
""", [user, pwhash])
|
||||||
|
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()
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user