[PEAK] ZConfig and peak naming
Roché Compaan
roche at upfrontsystems.co.za
Thu Jul 29 17:24:42 EDT 2004
* Phillip J. Eby <pje at telecommunity.com> [2004-07-29 23:20]:
> At 10:38 PM 7/29/04 +0200, Roché Compaan wrote:
> >I need a key in ZConfig file that needs to set a file object as
> >attribute on a subclass of binding.Component *and* values should be
> >specifiable as peak urls.
> >
> > <process>
> > file pkgfile:jack/somefile.txt
> > ...
> > </process>
> >
> >The above configuration, must set 'file' in:
> >
> > class Process(binding.Component):
> > file = binding.Make(lambda:None)
> >
> >if 'file' is defined as key in my schema file:
> >
> > <sectiontype name="process" datatype=".Process.fromZConfig">
> > <key name="file" datatype="some.peak.component.fromZConfig"
> > attribute="file"/>
> > ...
> > </sectiontype>
> >
> >Is there a peak component that can do this for me, or do I have to write
> >one.
>
> Do something like this:
>
> class Process(binding.Component):
> fileURL = binding.Require("URL needed",
> adaptTo=naming.IStreamFactory)
> file = binding.Obtain(naming.Indirect('fileURL'))
>
> And make the 'attribute' for 'file' be 'fileURL' instead.
>
> 'naming.Indirect("some_name")' translates to, "use the object you find at
> 'some_name' as a name to look up".
Nice! Thanks a lot.
--
Roché Compaan
Upfront Systems http://www.upfrontsystems.co.za
More information about the PEAK
mailing list