配置器

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(..)
  • 激活插件–通过配置激活插件(..)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索大数组中的最小数   java如何将数组变量用于IF语句?   多线程如何在java中使用多核?   java实现中的数据结构单链表,无限打印输出?   java检查命令行参数是否按有效顺序传递   爪哇点火。ignite返回“网格实例未正确启动或已停止”   java如何同时使用toString()或print()等显示两个输出?   在Java中使用LinkedList列出两个多项式的加法   Java中并行流的正确使用   mac上的java Eclipse:单击Eclipse图标后崩溃,重新安装,但无法为pyDev创建视图   java如何在sqlite4java中禁用自动提交?   java这样行吗?Synchronized(线程),然后synch块中的thread=null   java方法。调用它可以接受的参数?