make get_options a bit more refined

This commit is contained in:
Fabian Dill 2020-03-23 07:59:55 +01:00
parent e4fd07185e
commit 2bec95b4f8
1 changed files with 6 additions and 10 deletions

View File

@ -172,20 +172,16 @@ def get_public_ipv4() -> str:
return ip
_options = None
def get_options() -> dict:
global _options
if _options:
return _options
else:
if not hasattr(get_options, "options"):
locations = ("options.yaml", "host.yaml",
local_path("options.yaml"), local_path("host.yaml"))
for location in locations:
if os.path.exists(location):
with open(location) as f:
_options = parse_yaml(f.read())
return _options
raise FileNotFoundError(f"Could not find {locations[1]} to load options.")
get_options.options = parse_yaml(f.read())
break
else:
raise FileNotFoundError(f"Could not find {locations[1]} to load options.")
return get_options.options