Terry Reedy wrote: > if not hasattr(factory, '__call__'): factory = __import__(factory) That won't quite work since the string generally isn't referring to a module, and due to the quirk of __import__ returning the top level module since that is what the interpreter needs to bind to a name as part of a normal import statement. This would need to look more like: if not hasattr(factory, '__call__'): mod_name, dot, attr = factory.rpartition('.') if not dot: raise ValueError("<something meaningful>") module = imputil.import_module(mod_name) factory = getattr(module, attr) Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia ---------------------------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4