From b2a02750024286e5ee100ab684c4ce4af9889647 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Wed, 2 Feb 2022 23:17:07 +0000 Subject: [PATCH] doctor: suggest config documentation in case of ImportError from config doesn't help in all cases but perhaps helpful anyway relevant: https://github.com/karlicoss/HPI/issues/109 --- my/core/__main__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/my/core/__main__.py b/my/core/__main__.py index 2ac553c5..5bef2fba 100644 --- a/my/core/__main__.py +++ b/my/core/__main__.py @@ -2,6 +2,7 @@ import importlib import inspect import os +import re import sys import traceback from typing import Optional, Sequence, Iterable, List, Type, Any, Callable @@ -242,6 +243,14 @@ def modules_check(*, verbose: bool, list_all: bool, quick: bool, for_modules: Li except Exception as e: # todo more specific command? error(f'{click.style("FAIL", fg="red")}: {m:<50} loading failed{vw}') + if isinstance(e, ImportError): + em = re.match(r"cannot import name '(\w+)' from 'my.config'", str(e)) + if em is not None: + section_name = em.group(1) + eprint(click.style(f"""\ + You're likely missing '{section_name}' section from your config. + See https://github.com/karlicoss/HPI/blob/master/doc/SETUP.org#private-configuration-myconfig\ +""", fg='yellow')) if verbose: tb(e) continue