Re: ZConfigInterpreter with data from STDIN
PJ Eby <pje-Wh6+Hckhi6HFNGf7iClzIwC/[email protected]> Wed, 15 Apr 2015 13:19:29 -0400
| Newsgroups | gmane.comp.python.peak |
|---|---|
| Message-ID | <CALeMXf5BWQt6nbkxOJbmezwfY-zJY0gJxC2-npHQo+o8iwXxGQ@mail.gmail.com> |
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