From a95684053acea0358fbd7dfb01ebfa724ae9ae8a Mon Sep 17 00:00:00 2001 From: Alex Orid Date: Wed, 23 Sep 2020 16:54:48 -0400 Subject: [PATCH] Added Search Function for Credentials and Simplified Main() --- credentials.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++-- db.py | 2 +- main.py | 26 ++++------------ twitch_script.py | 2 ++ 4 files changed, 84 insertions(+), 23 deletions(-) diff --git a/credentials.py b/credentials.py index 07b28c7..1e5c551 100644 --- a/credentials.py +++ b/credentials.py @@ -58,6 +58,7 @@ class Credentials_Module(): self.DB_Credentials_List: list = [] def load_credentials(self): + print("Loading credentials...") fileList = self.list_credential_files() for file in fileList: if file.lower().find("twitch") != -1: @@ -108,17 +109,89 @@ class Credentials_Module(): tobj = DB_Credential(**raw_json) return tobj - def find_Credential(self): - pass + def find_Credential(self, credentialType, searchParam: str): + print("Searching for credential named: " + searchParam) + if credentialType.__name__ == Twitch_Credential.__name__: + print(".\{Twitch Credential Detected}") + credential_search_function = self.credentialSearchFunctions.get(Credential.Twitch_Credential) + output = credential_search_function(self, searchParam) + return output + elif credentialType.__name__ == Discord_Credential.__name__: + print(".\{Discord Credential Detected}") + credential_search_function = self.credentialSearchFunctions.get(Credential.Twitch_Credential) + output = credential_search_function(self, searchParam) + return output + elif credentialType.__name__ == DB_Credential.__name__: + print(".\{DB Credential Detected}") + credential_search_function = self.credentialSearchFunctions.get(Credential.DB_Credential) + output = credential_search_function(self, searchParam) + return output + else: + print(".\{Something else Detected}") + return None + def find_Twitch_Credential(self, searchParam: str): + print("Searching for Twitch Credential named: " + searchParam) + foundSomething = False + tempCert: Twitch_Credential + for cert in self.Twitch_Credentials_List: + if cert.username == searchParam: + print("Twitch Credential Found: {" + cert.username + "}") + tempCert = cert + foundSomething = True + if foundSomething: + return tempCert + else: + return None + + def find_Discord_Credential(self, searchParam: str): + print("Searching for Discord Credential named: " + searchParam) + foundSomething = False + tempCert: Discord_Credential + for cert in self.Discord_Credentials_List: + if cert.username == searchParam: + print("Discord Credential Found: {" + cert.username + "}") + tempCert = cert + foundSomething = True + if foundSomething: + return tempCert + else: + return None + + def find_DB_Credential(self, searchParam: str): + print("Searching for DB Credential named: " + searchParam) + foundSomething = False + tempCert: DB_Credential + for cert in self.DB_Credentials_List: + if cert.nickname == searchParam: + print("DB Credential Found: {" + cert.nickname + "}") + tempCert = cert + foundSomething = True + if foundSomething: + return tempCert + else: + return None + + + 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 } + credentialSearchFunctions = { # this is a mapping of the Credential enum to function pointers + Credential.Twitch_Credential: find_Twitch_Credential, + Credential.Discord_Credential: find_Discord_Credential, + Credential.DB_Credential: find_DB_Credential + } if __name__ == '__main__': creds = Credentials_Module() creds.load_credentials() + + creds.find_Credential(DB_Credential, "praxis_bot") + creds.find_Credential(Twitch_Credential, "praxis_bot") + + diff --git a/db.py b/db.py index f4fe217..cb1aef3 100644 --- a/db.py +++ b/db.py @@ -24,7 +24,7 @@ class db_module(): if createEngine: self.engine = create_engine(credential.engine_url) self.currentWorkingDB = credential.databaseName - print("Engine Created") + print("SQL Engine Created") def create_table(self, tableName: str = ""): pass diff --git a/main.py b/main.py index bda265c..c30d5be 100644 --- a/main.py +++ b/main.py @@ -16,34 +16,20 @@ credentials_manager: credentials.Credentials_Module def main(): global twitch_chat global credentials_manager - print("Loading credentials...") credentials_manager = credentials.Credentials_Module() credentials_manager.load_credentials() + + dbCert: credentials.DB_Credential = credentials_manager.find_Credential(credentials.DB_Credential, "praxis_bot") + twitchCert: credentials.Twitch_Credential = credentials_manager.find_Twitch_Credential("praxis_bot") twitch_chat = twitch_script.Twitch_Module() - dbCert: credentials.DB_Credential - if credentials_manager.DB_Credentials_List is not None: - for cert in credentials_manager.DB_Credentials_List: - if cert.nickname == "praxis_bot": - print("DB Certificate Found: {" + cert.nickname + "}") - dbCert = cert + twitch_chat.db_manager.setup_engine(dbCert) + twitch_chat.twitchCredential = twitchCert - twitchCert: credentials.Twitch_Credential - if credentials_manager.Twitch_Credentials_List is not None: - for cert in credentials_manager.Twitch_Credentials_List: - if cert.username == "praxis_bot": - print("Twitch Certificate Found: {" + cert.username + "}") - twitchCert = cert - - twitch_chat.db_manager.setup_engine(dbCert) - print("Loading Credential: {" + cert.username + "} into Twitch_Module") - twitch_chat.twitchCredential = twitchCert - print("Connecting to Channel: " + "thecuriousnerd") - twitch_chat.join_channel(None, "thecuriousnerd") + twitch_chat.join_channel(None, "thecuriousnerd") # twitch_chat.send_message("activated") - if __name__ == "__main__": main() diff --git a/twitch_script.py b/twitch_script.py index ccc5156..fa5f011 100644 --- a/twitch_script.py +++ b/twitch_script.py @@ -29,6 +29,8 @@ class Twitch_Module(): def join_channel(self, credential: credentials.Twitch_Credential, channel_name:str): channel_name = "#" + channel_name + print("Connecting to Channel: " + channel_name) + if credential is None: credential = self.twitchCredential