Credentials Class Idea

This commit is contained in:
Alex Orid 2020-09-21 23:31:36 -04:00
parent 992c923be2
commit 9f449a916c
2 changed files with 85 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
tts/
__pycache__/
credentials/

84
credentials.py Normal file
View File

@ -0,0 +1,84 @@
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