Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support reading config setting specs from module #237

Merged
merged 3 commits into from Nov 13, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 9 additions & 0 deletions flexmeasures/utils/plugin_utils.py
Expand Up @@ -2,6 +2,7 @@
import os
import sys
from importlib.abc import Loader
from types import ModuleType
from typing import Dict

import sentry_sdk
Expand Down Expand Up @@ -123,6 +124,14 @@ def check_config_settings(app, settings: Dict[str, dict]):
}

"""

# Check config settings are in dict form, after possibly converting them from module variables
if isinstance(settings, ModuleType):
settings = {
setting: settings.__dict__[setting]
for setting in dir(settings)
if not setting.startswith("__")
}
assert isinstance(settings, dict), f"{type(settings)} should be a dict"
for setting_name, setting_fields in settings.items():
assert isinstance(setting_fields, dict), f"{setting_name} should be a dict"
Expand Down