autofeature自动注册zcml特性。

ftw.autofeature的Python项目详细描述


autofeature自动注册zcml特性。

附加功能

autofeature:extras指令自动为每个 额外的(extras_requires)包。 当额外项的每个依赖项 已安装。

示例

当使用这样的setup.py时:

fromsetuptoolsimportsetup,find_packagessetup(name='my.package',version='1.0.0dev0',packages=find_packages(exclude=['ez_setup']),namespace_packages=['my'],install_requires=['setuptools','ftw.autofeature',],extras_require={'tests':['unittest2'],'foo':['foo','foo-compat'],'bar':['bar','bar-compat']})

您可以让ftw.autofeature自动声明附加功能:

<configurexmlns="http://namespaces.zope.org/zope"xmlns:zcml="http://namespaces.zope.org/zcml"xmlns:autofeature="http://namespaces.zope.org/autofeature"><includepackage="ftw.autofeature"file="meta.zcml"/><autofeature:extras/><configurezcml:condition="have my.package:foo"><!-- foo things --></configure><configurezcml:condition="have my.package:bar"><!-- bar things --></configure><configurezcml:condition="have my.package:foo:bar"><!-- foo and bar things --></configure></configure>

功能my.package:foo仅在安装了附加功能时注册。 当同时安装foobar时,会注册多个功能,以便 很容易将附加功能与AND

  • my.package:foo
  • my.package:foo:bar
  • my.package:bar
  • my.package:bar:foo

限制

我们无法真正检测是否在安装时明确使用了附加功能。 因此,我们测试是否安装了extras中的每个依赖项。 当每个依赖项都已安装但未显式安装附加项时,这也将 注册功能。

转储功能

autofeature:dump指令转储当前注册的zcml功能 达到标准。 只需使用指令在zcml中的任意点转储功能:

<configurexmlns="http://namespaces.zope.org/zope"xmlns:autofeature="http://namespaces.zope.org/autofeature"><includepackage="ftw.autofeature"file="meta.zcml"/><autofeature:dump/></configure>

更改日志

1.0.0(2015-08-24)

  • 初步实施 [乔恩]

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

推荐PyPI第三方库


热门话题
java注入hibernate持久化单元   mobile是一个Java Microedition RMS,在打开时标记为已修改,但未进行数据更改?   java Listview不使用Firebase查询“equalTo”滚动   java重头戏2:如何将dist应用程序部署到Windows Azure云服务(而不是VM)   基于CXF JAXRS的服务中的java限制输出有效负载响应   为什么Java集合有0或1的帮助程序,但没有更多的元素?   java在用户按enter键时停止程序   java Suppress警告“字段可能是最终的”可序列化   java JSON应该如何存储以下值   在Java中,每个共享引用是否占用另一个内存字(例如32或64位)?   java GridBagLayout是否需要空单元格的占位符面板?   java如何将一个数组从jsp页面中的JavaScript函数传递到控制器类?   java从jruby运行和从warbled jar运行有什么区别?   javascript所见即所得编辑器:如何控制用户可以编辑的字符数?   替换/重写对象的方法,该对象是Java中接口的实现   将eclipse与Java和C结合使用   Google Drive Java API:下一页标记始终为空   java Spring数据JPA@Query ArrayList为@Param