Configuration components for the SPARC platform
Project description
Basic common configuration tools used in the SPARC platform. Includes, but not limited to Zope Component ZCML utilities.
ZCA Configuration
Tools that leverage SPARC packages are usually also dependant on Zope Component Architecture (http://docs.zope.org/zope.component/narr.html). Use of ZCA requires component configuration,which SPARC does via ZCML (https://github.com/zopefoundation/zope.component/blob/master/docs/zcml.rst).
Among other things, sparc.common provides access to Configure(), an easy function that can be used to configure dependant applications.
- ### Usage - ZCA configuration
This simplifies your ability to create components via ZCML and have your application parse the ZCML files to allow them to be registered for lookup. >>> import a.package.that.contains.a.configure.zcml >>> import another.package.that.contains.a.configure.zcml >>> from sparc.common import Configure >>> Configure([your.package.that.contains.a.configure.zcml, … another.package.that.contains.a.configure.zcml])
You will now have access to components configured within those packages.
- ### Usage - Retrieve user feedback from CLI application
This simplifies the process of getting feedback for processing within a CLI application. >>> import sparc.common >>> from sparc.common import Configure >>> from sparc.common import ICallable >>> from zope.component import getUtility >>> Configure([sparc.common]) >>> asker = getUtiliy(ICallable, ‘sparc.common.ask_question’) >>> answer = asker(u”How are you?”, required = True, answers = … {‘1’:’awesome’,’2’:’ok’,’3’:’not so good’}, tries = 3) How are you? (1) awesome (2) ok (3) not so good
>>> print answer '1'
0.0.1
initial release
0.0.2
let value getter have a default
allow pacakge-less zcml imports (file-path only zcml declarations)
update IPyContainerConfigValue to allow deep key reference
fix dependency identifiers
fix generator error
remove dependency on ZCA from implementations
remove dependency on zope.component
add travis ci config