#!/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(""" INSERT INTO users (login, password) 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()