core/config: implement a warning if config is imported from the dir other than MY_CONFIG
this should help with identifying setup issues
This commit is contained in:
parent
edea2c2e75
commit
6821fbc2fe
1 changed files with 18 additions and 0 deletions
|
@ -14,6 +14,7 @@ Please let me know if you are aware of a better way of dealing with this!
|
||||||
|
|
||||||
# separate function to present namespace pollution
|
# separate function to present namespace pollution
|
||||||
def setup_config() -> None:
|
def setup_config() -> None:
|
||||||
|
from pathlib import Path
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
@ -47,6 +48,23 @@ See https://github.com/karlicoss/HPI/blob/master/doc/SETUP.org#setting-up-the-mo
|
||||||
Importing 'my.config' failed! (error: {ex}). This is likely to result in issues.
|
Importing 'my.config' failed! (error: {ex}). This is likely to result in issues.
|
||||||
See https://github.com/karlicoss/HPI/blob/master/doc/SETUP.org#setting-up-the-modules for more info.
|
See https://github.com/karlicoss/HPI/blob/master/doc/SETUP.org#setting-up-the-modules for more info.
|
||||||
""")
|
""")
|
||||||
|
else:
|
||||||
|
# defensive just in case -- __file__ may not be present if there is some dynamic magic involved
|
||||||
|
used_config_file = getattr(my.config, '__file__', None)
|
||||||
|
if used_config_file is not None:
|
||||||
|
used_config_path = Path(used_config_file)
|
||||||
|
try:
|
||||||
|
# will crash if it's imported from other dir?
|
||||||
|
used_config_path.relative_to(mycfg_dir)
|
||||||
|
except ValueError:
|
||||||
|
# TODO maybe implement a strict mode where these warnings will be errors?
|
||||||
|
warnings.warn(
|
||||||
|
f"""
|
||||||
|
Expected my.config to be located at {mycfg_dir}, but instead its path is {used_config_path}.
|
||||||
|
This will likely cause issues down the line -- double check {mycfg_dir} structure.
|
||||||
|
See https://github.com/karlicoss/HPI/blob/master/doc/SETUP.org#setting-up-the-modules for more info.
|
||||||
|
""",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
setup_config()
|
setup_config()
|
||||||
|
|
Loading…
Add table
Reference in a new issue