adding latest working

This commit is contained in:
2021-10-16 05:55:04 +01:00
parent e4ae3f0363
commit 4b51a040ce
2 changed files with 31 additions and 27 deletions

View File

@@ -39,10 +39,23 @@ class Config:
# no config file, look for env vars # no config file, look for env vars
return self._get_env_value(env_key, default, coerce) return self._get_env_value(env_key, default, coerce)
def _get_config_value_key_split_once(self): def _get_config_value_key_split_once(self, key: str, mask: bool) -> Any:
if mask:
# TODO: write mask logic here
pass pass
else:
name = key.lower()
return self.config[self.header_variable][name]
def _get_config_value_key_split_twice(self): def _get_config_value_key_split_twice(self, key: str, mask: bool) -> Any:
if mask:
# TODO: write mask logic here
pass
else:
section, name = key.lower().split(".")
return self.config[self.header_variable][section][name]
def _get_config_value_missing_key_value_is_none(self, default: Any):
pass pass
def _get_config_value( def _get_config_value(
@@ -51,19 +64,9 @@ class Config:
try: try:
# look under top header # look under top header
if len(key.split(".")) == 1: if len(key.split(".")) == 1:
if mask: value = self._get_config_value_key_split_once(key, mask)
# TODO: write mask logic here
pass
else:
name = key.lower()
value = self.config[self.header_variable][name]
elif len(key.split(".")) == 2: elif len(key.split(".")) == 2:
if mask: value = self._get_config_value_key_split_twice(key, mask)
# TODO: write mask logic here
pass
else:
section, name = key.lower().split(".")
value = self.config[self.header_variable][section][name]
return value return value
except (KeyError, TypeError): except (KeyError, TypeError):

View File

@@ -4,6 +4,7 @@ from panaetius import Config, set_config
if __name__ == "__main__": if __name__ == "__main__":
os.environ["PANAETIUS_TEST_PATH"] = "/usr/local" os.environ["PANAETIUS_TEST_PATH"] = "/usr/local"
os.environ["PANAETIUS_TEST_BOOL"] = "true"
print(os.environ.get("PANAETIUS_TEST_PATH")) print(os.environ.get("PANAETIUS_TEST_PATH"))
os.environ[ os.environ[
"PANAETIUS_TEST_TOML_POINTS" "PANAETIUS_TEST_TOML_POINTS"
@@ -14,19 +15,19 @@ if __name__ == "__main__":
os.environ["PANAETIUS_TEST_NOC_EMBEDDED_BOOL"] = "true" os.environ["PANAETIUS_TEST_NOC_EMBEDDED_BOOL"] = "true"
# c = Config("panaetius_test") # c = Config("panaetius_test")
c = Config("panaetius_test_noc") c = Config("panaetius_test")
# set_config(c, key="path", default="some path") set_config(c, key="path", default="some path")
# set_config(c, key="top", default="some top") set_config(c, key="top", default="some top")
# set_config(c, key="logging.path", default="some logging path") set_config(c, key="logging.path", default="some logging path")
# set_config(c, key="nonexistent.item", default="some nonexistent item") set_config(c, key="nonexistent.item", default="some nonexistent item")
# set_config(c, key="nonexistent.item") set_config(c, key="nonexistent.item")
# set_config(c, key="toml.points", coerce=True) set_config(c, key="toml.points", coerce=True)
# set_config(c, key="toml.points_config") set_config(c, key="toml.points_config")
# set_config(c, key="float", default=2.0) set_config(c, key="float", default=2.0)
# set_config(c, key="float_str", default="2.0") set_config(c, key="float_str", default="2.0")
# set_config(c, key="bool", coerce=True) set_config(c, key="bool", coerce=True)
# set_config(c, key="noexistbool", default=False) set_config(c, key="noexistbool", default=False)
# set_config(c, key="path") # set_config(c, key="path")
# set_config(c, key="float", coerce=True) # set_config(c, key="float", coerce=True)