From 52cee7a950d7e1d3af4b1c0c84d7cec9c5771a97 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Fri, 21 May 2021 16:06:42 +0200 Subject: [PATCH] add tool --- tools/addmosquser.py | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 tools/addmosquser.py diff --git a/tools/addmosquser.py b/tools/addmosquser.py new file mode 100755 index 0000000..b171121 --- /dev/null +++ b/tools/addmosquser.py @@ -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() +