配置器
configless的Python项目详细描述
configless是一款小巧的配置器,灵感来自金字塔的配置器。 但这是愚蠢的不全面。
如何使用
你可以开发foo函数,所以ihasfoo接口。 您提供了两种foo函数变体。 (my.foo和your.foo就是这些)
## definitionfromzope.interfaceimportInterface,implementerfromconfigless.interfacesimportIPluginclassIHasFoo(Interface):deffoo():pass@implementer(IHasFoo,IPlugin)classMyFoo(object):@classmethoddefcreate_from_setting(cls,settings):returncls()deffoo(self):return"my"@implementer(IHasFoo)classYourFoo(object):@classmethoddefcreate_from_setting(cls,settings):returncls()deffoo(self):return"your"## usingfromconfiglessimportConfiguratorconfig=Configrator()## install many plugins about `foo`config.add_plugin("my.foo",MyFoo,categoryname="foo")config.add_plugin("your.foo",YourFoo,categoryname="foo")## activate my.foo plugin, then, my.foo is used by plugin about `foo`.result=config.activate_plugin("my.foo")## so, configurator has function about resultconfig.foo.foo()# => "my"
摘要
您可以提供“foo”功能
- 定义插件
- 安装插件–通过config.add_plugin(..)
- 激活插件–通过配置激活插件(..)