configurator
Project description
making configuration phase, in your application. (Tiny version of almost pyramid’s configurator object)
# yourapplication.py from miniconfig import ConfiguratorCore class Configurator(ConfiguratorCore): def make_app(self): self.commit() return App(self.settings)
pluginA
# yourapplication/pluginA.py def includeme(config): config.settings["A"] = PluginA()
pluginB
# yourapplication/pluginB.py def includeme(config): config.include(".pluginA") config.settings["B"] = PluginB()
application user
from yourapplication import Configurator config = Configurator() config.include("yourapplication.pluginB") app = config.make_app()
Adding directives
directive means that action of configurator.
how to define and use directive
def hello(config, name): def register(): assert config.settings["foo"] == "foo" print("hello: {}".format(name)) config.action(register) config = Configurator(settings={"foo": "foo"}) config.add_directive("hello", hello) config.hello("foo")
it is also supported that to define directives by dotted name:
## foo/bar.py def hello(config): def register(): print("hai") config.action(register) ## yourapplication config = Configurator() config.add_directive("hello", "foo.bar:hello") config.hello() config.commit() # hai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
miniconfig-0.1.7.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for miniconfig-0.1.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44e84e5b908fbdfb5dde5a4a48c0006db56ef835bed8a2be9638e5b3c12c73e2 |
|
MD5 | a8ae9859bd26d484175dc8fbff64df78 |
|
BLAKE2b-256 | ffe719fff593b0bf27c43f805c611bd387a5aaf280233c559d6f32fc0df1223b |