marrow / WebCore

WebCore, the super tiny and blazingly fast modular Python web nanoframework.
MIT License
94 stars 10 forks source link

Configuration integration and plugin-based loading. #162

Closed amcgregor closed 3 years ago

amcgregor commented 8 years ago

Currently WebCore requires explicit configuration through instantiation and passing of extensions explicitly. Additionally, WebCore can not optimistically attempt to instantiate extension dependencies (configuration-free) when needed.

Extend the web.core:Application initializer to process passed configuration in a similar way to logging.dictConfig, that is, allowing explicit declaration down to using named references with Application performing the lookup and instantiation.

(This will simplify handling of the BaseExtension through correct interpretation of the always=True plugin metadata, honouring that extension contract for end-use application extensions, too.)

amcgregor commented 3 years ago

Implemented in fa9a2d7e.