Re: ZConfigInterpreter with data from STDIN
Alexey Smishlayev <[email protected]> Wed, 15 Apr 2015 23:42:34 +0300
| Newsgroups | gmane.comp.python.peak |
|---|---|
| Message-ID | <[email protected]> |
I looks like it worked. So simple! Great thanks for the advice, PJ! Alexey On 15/04/15 20:19, PJ Eby wrote: > Have you tried just using "fd.file:stdin" as the cfgName? > > On Wed, Apr 15, 2015 at 8:49 AM, Alexey Smishlayev <[email protected]> wrote: >> Hello! >> I am trying to refactor existing peak application. I need to be able to load >> ZConfig file from data incoming by STDIN. Now, the loader included in peak >> is using files, so I implemented a subclass which should simulate a file >> resource (in file zconfig.py). I also searched peak.ini for any lines >> regarding zconfig. I copied all settings and changed them to point to my >> custom classes (in file custom.ini; "ank.BBS" is my project package). >> >> In the python script, ZConfigInperpreter was used to get the application >> root component in the following way: >>> _argv=["ZConfig", scheme, cfgName] >>> _argv.extend(sys.argv[1:]) >>> return ZConfigInterpreter( >>> config.makeRoot(), >>> argv=_argv, >>> componentName="MYAPP" >>> ) >> Now I want to pass no cfgName and get interpreter to process the STDIN. But >> the PEAK seem to not find settings which I've put in my .ini file and I'm >> stuck. >> I've narrowed it down - the >> ZConfigInterpreter.lookupComponent('zconfig.schema:'+str(url)) returns >> peak.config.load_zconfig.ConfigLoader, instead of my custom class >> (STDINConfigLoader from my file). I tried to trace down the stack with pdb, >> and it seems that some lookup for "zconfig.schema:/path/to/schema/file.xml" >> returns peak.config.load_zconfig.ZConfigSchemaContext. >> I've subclassed that one too, but have no success. >> >> Can anyone, please, help me, how to replace the standard ZConfig classes? >> >> Best regards, >> Alexey >> >> _______________________________________________ >> PEAK mailing list >> [email protected] >> http://www.eby-sarna.com/mailman/listinfo/peak