#!/usr/bin/python import psycopg2 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_NAME = "authservice" pwhash = crypt(password, iterations=100000) conn = None cur = None try: conn = psycopg2.connect(database = DB_NAME) conn.autocommit = False cur = conn.cursor() cur.execute(""" INSERT INTO user_t (login, pwhash) VALUES(%s, %s) """, [user, pwhash]) cur.execute(""" INSERT INTO user_application_mapping_t (application,"user") VALUES( (SELECT id FROM application_t WHERE name = %s), (SELECT id FROM user_t WHERE login = %s) ) """, [application, user]) conn.commit() finally: if cur: cur.close() if conn: conn.rollback() conn.close()