traitlets icon indicating copy to clipboard operation
traitlets copied to clipboard

Application.print_alias_help() should take into account *any* Configurable class

Open betaplane opened this issue 7 years ago • 0 comments

It seems to me that in both the current release and the master version (where the code has been moved to emit_alias_help), the case where an alias refers to a class that is not in the inheritance hierarchy for a given instance will throw an error. Luckily, one can use such aliases (I do in my own projects, it's a nice way to share configurations between classes), it's just one can't print help.

The relevant code in master is (lines 389-393 in config/application.py):

classdict = {}
for cls in self.classes:
    # include all parents (up to, but excluding Configurable) in available names
    for c in cls.mro()[:-3]:
        classdict[c.__name__] = c

betaplane avatar Aug 28 '18 18:08 betaplane