from sys import argv import sqlite3 import re conn = sqlite3.connect("/home/sweebotirc/sbirc.db") database = conn.cursor() def getperms(mask: str): try: database.execute(f"SELECT * FROM users;") output = database.fetchall() for i in output: if re.match(i[0].replace("*", ".+"), mask): return i[1] return '' except: print(traceback.format_exc()) return '' if argv[2] == "full": if len(argv) == 5: if argv[3] == argv[2]: print(argv[1] + ": You wanna give yourself permissions!?") else: perms = getperms(argv[3]) if argv[4] in perms: print("The specified user already has these permissions.") elif perms != "": database.execute("UPDATE users SET perms = '" + perms + "," + argv[4] + "' WHERE username = '" + argv[3] + "';") print(argv[1] + ": Successfully appended '" + argv[4] + "' to the permissions of " + argv[3]) else: database.execute("INSERT INTO users (username, perms) VALUES ('" + argv[3] + "', '" + argv[4] + "');") print(argv[1] + ": Successfully created permissions of " + argv[3] + " and set it to '" + argv[4] + "'") else: print(argv[1] + ": This command takes 2 arguments, only got " + str(len(argv) - 3) + ".") else: print(argv[1]+": Permission denied") conn.commit() conn.close()