def import_aliases() -> bool: from JJMumbleBot.lib.utils.dir_utils import get_main_dir from JJMumbleBot.lib.resources.strings import T_TEMP_ALIASES from csv import DictReader, Error try: with open(f"{get_main_dir()}/cfg/downloads/{T_TEMP_ALIASES}.csv", mode='r') as csv_file: csvr = DictReader(csv_file) for i, row in enumerate(csvr): UpdateDB.update_alias(get_memory_db(), alias_name=row['alias'].strip(), commands=row['command'].strip(), ignore_file_save=True) save_memory_db_to_file() log(INFO, f"Updated aliases from the imported aliases file!", origin=L_DATABASE, print_mode=PrintMode.REG_PRINT.value) return True except FileNotFoundError: log(ERROR, f"Could not import aliases because the downloaded file is not found!", origin=L_DATABASE, print_mode=PrintMode.VERBOSE_PRINT.value) return False except Error: log(ERROR, f"Encountered a problem reading the imported aliases file! " f"Please make sure the file is correctly formatted with headers: alias, command", origin=L_DATABASE, print_mode=PrintMode.VERBOSE_PRINT.value) return False except KeyError: log(ERROR, f"Encountered a problem reading the imported aliases file! " f"Please make sure the file is correctly formatted with headers: alias, command", origin=L_DATABASE, print_mode=PrintMode.VERBOSE_PRINT.value) return False
def set_privileges(username, level, sender): all_user_data = GetDB.get_all_user_data(get_memory_db().cursor()) user_names_list = [x[0] for x in all_user_data] if username in user_names_list: for user in all_user_data: if user[0] == username and username == sender: dprint( f"This user: [{username}] tried to modify their own user privileges. Modification denied.", origin=L_USER_PRIV) log(WARNING, f"This user: [{username}] tried to modify their own user privileges, the modification was denied.", origin=L_USER_PRIV) return False if user[0] == username and privileges_check(sender) <= user[1]: dprint( f"This user: [{sender['name']}] tried to modify privileges for a user with equal/higher privileges: [{username}]", origin=L_USER_PRIV) log(WARNING, f"This user: [{sender['name']}] tried to modify privileges for a user with equal/higher privileges: [{username}]", origin=L_USER_PRIV) return False if UpdateDB.update_user_privileges(db_conn=get_memory_db(), user_name=username, level=int(level)): return True return False
def remove_from_blacklist(username): all_user_data = GetDB.get_all_user_data(get_memory_db().cursor()) user_names_list = [x[0] for x in all_user_data] if username in user_names_list: for user in all_user_data: if user[0] == username and user[1] == Privileges.BLACKLIST.value: if UpdateDB.update_user_privileges(db_conn=get_memory_db(), user_name=username, level=int(Privileges.DEFAULT.value)): return True return False
def add_to_blacklist(username): all_user_data = GetDB.get_all_user_data(get_memory_db().cursor()) user_names_list = [x[0] for x in all_user_data] if username in user_names_list: for user in all_user_data: if user[0] == username and user[1] == Privileges.BLACKLIST.value: rprint(f"The user: {username} is already in the blacklist.", origin=L_USER_PRIV) log(INFO, f"The user: {username} is already in the blacklist.", origin=L_USER_PRIV) return False if UpdateDB.update_user_privileges(db_conn=get_memory_db(), user_name=username, level=int(Privileges.BLACKLIST.value)): return True return False
def add_to_blacklist(username): all_user_data = GetDB.get_all_user_data(get_memory_db().cursor()) user_names_list = [x[0] for x in all_user_data] if username in user_names_list: for user in all_user_data: if user[0] == username and user[1] == Privileges.BLACKLIST.value: log(WARNING, f"Could not add the user: {username} to the blacklist since the user is already in the blacklist.", origin=L_USER_PRIV, error_type=GEN_PROCESS_WARN, print_mode=PrintMode.VERBOSE_PRINT.value) return False if UpdateDB.update_user_privileges(db_conn=get_memory_db(), user_name=username, level=int(Privileges.BLACKLIST.value)): return True return False
def set_alias(alias, commands) -> bool: if UpdateDB.update_alias(db_conn=get_memory_db(), alias_name=alias, commands=commands): log(INFO, f"Registered alias: [{alias}] - [{commands}]", origin=L_ALIASES, print_mode=PrintMode.VERBOSE_PRINT.value) return True log(INFO, f"Could not register [{alias}] to the registered aliases.", origin=L_ALIASES, print_mode=PrintMode.VERBOSE_PRINT.value) return False