bitbot-3.11-fork/src/Config.py

23 lines
786 B
Python
Raw Normal View History

import configparser, os, typing
2016-03-29 11:56:58 +00:00
class Config(object):
def __init__(self, location: str):
self.location = location
self._config = {} # type: typing.Dict[str, str]
2018-09-28 15:51:36 +00:00
self.load()
2016-03-29 11:56:58 +00:00
2018-09-28 15:51:36 +00:00
def load(self):
if os.path.isfile(self.location):
with open(self.location) as config_file:
parser = configparser.ConfigParser()
parser.read_string(config_file.read())
self._config = {k: v for k, v in parser["bot"].items() if v}
2018-09-28 15:51:36 +00:00
def __getitem__(self, key: str) -> typing.Any:
2018-09-28 15:51:36 +00:00
return self._config[key]
def get(self, key: str, default: typing.Any=None) -> typing.Any:
2018-09-28 15:51:36 +00:00
return self._config.get(key, default)
def __contains__(self, key: str) -> bool:
return key in self._config
2018-09-28 15:51:36 +00:00