51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
# Names of Configurations
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
DATABASE_USERNAME = 'ghost_user'
|
|
DATABASE_PASSWORD = 'root'
|
|
DATABASE_HOST = '192.168.0.11'
|
|
DATABASE_PORT = '5432'
|
|
DATABASE_NAME = 'ghostball'
|
|
SEASON_1_SPREADSHEET_ID = 's1_spreadsheet_id'
|
|
SEASON_2_SPREADSHEET_ID = 's2_spreadsheet_id'
|
|
PLAYER_SPREADSHEET = 'player_spreadsheet'
|
|
|
|
'''
|
|
Main source for configurations fetched from a startup configuration file. Includes the ability to fetch all, or fetch
|
|
one configuration once the file is loaded.
|
|
|
|
You'll find the names of these configs above as constants that can be used throughout the rest of this repository
|
|
'''
|
|
class Configs():
|
|
configs = {}
|
|
|
|
def __init__(self, config_file_path):
|
|
self.config_file_path = config_file_path
|
|
self.__load_configs__()
|
|
|
|
'''
|
|
Fetches a single configuration by the name of that configuration.
|
|
Returns None if that configuration does not exist
|
|
'''
|
|
def get_config_by_name(self, name):
|
|
try:
|
|
return Configs.configs[name]
|
|
except KeyError:
|
|
return None
|
|
|
|
'''
|
|
Fetches all configurations and returns them as a dictionary of config_key -> config_value
|
|
'''
|
|
def get_all_configs(self):
|
|
return Configs.configs
|
|
|
|
'''
|
|
Performs the initial load of configurations from a startup configuration file
|
|
'''
|
|
def __load_configs__(self):
|
|
Configs.configs = {}
|
|
config_file = open(self.config_file_path, 'r')
|
|
for line in config_file:
|
|
split_line = line.split('=')
|
|
Configs.configs[split_line[0]] = split_line[1].strip('\n') |