import os class Credentials_Module(): def __init__(self): super().__init__() self.Twitch_Credentials_List:list self.Discord_Credentials_List:list self.DB_Credentials_List:list credentialLoadingFunctions = { # this is a mapping of the Credential enum to function pointers Credential.Twitch_Credential: load_Twitch_Credential, Credential.Discord_Credential: load_Discord_Credential, Credential.DB_Credential: load_DB_Credential } def load_credentials(self): credentialPath = self.get_credentials_dir() fileList:list = [] for file in fileList: fileName = "" if fileName.lower().find("twitch") != -1: credential_loading_function = self.credentialLoadingFunctions.get(Credential.Twitch_Credential) output = credential_loading_function(fileName) if fileName.lower().find("discord") != -1: credential_loading_function = self.credentialLoadingFunctions.get(Credential.Discord_Credential) output = credential_loading_function(fileName) if fileName.lower().find("db") != -1: credential_loading_function = self.credentialLoadingFunctions.get(Credential.DB_Credential) output = credential_loading_function(fileName) #Based on similar function in tts.py def get_credentials_dir(self): dir = os.path.join(os.getcwd(), "credentials") # this is platform-agnostic if not os.path.exists(dir): os.mkdir(dir) return dir def load_Twitch_Credential(self, fileName:str): pass def load_Discord_Credential(self, fileName:str): pass def load_DB_Credential(self, fileName:str): pass class Credential(Enum): Twitch_Credential = 1 Discord_Credential = 2 DB_Credential = 3 class Twitch_Credential(): #Username = Twitch Username #Helix ID = https://dev.twitch.tv/console/apps #Oauth = https://twitchapps.com/tmi/ #V5 Client ID = https://twitchtokengenerator.com/ def __init__(self): super().__init__() username = "" helix = "" oauth = "oauth:" v5_Client = "" class Discord_Credential(): #Discord Credentials explanations here. def __init__(self): super().__init__() username = "" class DB_Credential(): #engine = "mysql+mysqlconnector://root:password@localhost:3306/DatabaseName" def __init__(self): super().__init__() self.username = "" self.password = "" self.ipAddress = "" self.port = "" self.databaseName = "" self.engine_url = "" def create_engine_url(self): new_engine_url = "mysql+mysqlconnector://" + self.username + ":" + self.password + "@" + self.ipAddress + ":" + self.port + "/" + self.databaseName self.engine_url = new_engine_url