Re: [Zope-dev] app = Zope.app() backwards incompatibility notice / discussion
Nothing happened with it because by the time I got around to putting it in, the 2.7 branch was frozen for changes. Not sure about your patch, as Zope.app() can be called outside of the context of a script. Also, if the configuration has already been performed before the call to Zope.app(), it shouldn't fail because it can't find the ZOPE_CONFIG envvar. IOW, ZOPE_CONFIG should not be required, but if it is defined in the environment when called from a script, it should be used. If you can make that happen, and put the patch in the collector, I will see to it that it gets into 2.7.1. - C On Mon, 2004-02-16 at 14:29, Erik A.Dahl wrote: > Whatever happened to the ZOPE_CONFIG env idea? What I have found is > that I started putting > > Zope.config(os.getenv("ZOPE_CONFIG")) > > in all my scripts. Why can't his happen within Zope.app()? Something > like this. > > *** lib/python/Zope/__init__.py.orig 2003-12-21 19:24:25.0 > -0500 > --- lib/python/Zope/__init__.py 2004-02-16 14:15:48.0 -0500 > *** > *** 45,52 > --- 45,59 >from Zope.App.startup import startup as _startup >_startup() > > + from Zope.Startup.run import configure > + class ZopeConfig(Exception):pass > + >def app(*args, **kw): >"""Utility for scripts to open a connection to the database""" > + configfile = os.getenv("ZOPE_CONFIG") > + if not configfile: > + raise ZopeConfig, "ERROR: ZOPE_CONFIG environment variable > not found" > + configure(configfile) >startup() >return bobo_application(*args, **kw) > > *** > *** 56,62 >import ZPublisher >return ZPublisher.test('Zope', *args, **kw) > > - from Zope.Startup.run import configure > ># Zope.App.startup.startup() sets the following variables in this > module. >DB = None > --- 63,68 > > -EAD > > > On Dec 22, 2003, at 1:37 PM, Dieter Maurer wrote: > > > Chris McDonough wrote at 2003-12-21 18:16 -0500: > >> ... > >> Will need to do this under 2.7b4+: > >> > >> import Zope > >> Zope.configure('/path/to/configfile') > >> app = Zope.app() > >> ... > >> Jim Roepke suggested that if an "ZOPE_CONFIG" envvar was set with the > >> config file path, that "import Zope; Zope.app()" could be made to > >> "just > >> work", > > > > A very good suggestion! > > > >> but I'm not sure this is any better than requiring that > >> developers change their scripts. > > > > For developpers, it is much better: > > > > Add an environment variable at one (or a few) central > > place versus change lots of scripts. > > > >> Guessing at the config file location > >> is also fraught with problems, and I'd be hesitant to do it. > > > > The suggestion was to use the value of "ZOPE_CONFIG" as > > config file path. Thus, you do not need to guess... > > > > -- > > Dieter > > > > ___ > > Zope-Dev maillist - [EMAIL PROTECTED] > > http://mail.zope.org/mailman/listinfo/zope-dev > > ** No cross posts or HTML encoding! ** > > (Related lists - > > http://mail.zope.org/mailman/listinfo/zope-announce > > http://mail.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] app = Zope.app() backwards incompatibility notice / discussion
Whatever happened to the ZOPE_CONFIG env idea? What I have found is that I started putting Zope.config(os.getenv("ZOPE_CONFIG")) in all my scripts. Why can't his happen within Zope.app()? Something like this. *** lib/python/Zope/__init__.py.orig 2003-12-21 19:24:25.0 -0500 --- lib/python/Zope/__init__.py 2004-02-16 14:15:48.0 -0500 *** *** 45,52 --- 45,59 from Zope.App.startup import startup as _startup _startup() + from Zope.Startup.run import configure + class ZopeConfig(Exception):pass + def app(*args, **kw): """Utility for scripts to open a connection to the database""" + configfile = os.getenv("ZOPE_CONFIG") + if not configfile: + raise ZopeConfig, "ERROR: ZOPE_CONFIG environment variable not found" + configure(configfile) startup() return bobo_application(*args, **kw) *** *** 56,62 import ZPublisher return ZPublisher.test('Zope', *args, **kw) - from Zope.Startup.run import configure # Zope.App.startup.startup() sets the following variables in this module. DB = None --- 63,68 -EAD On Dec 22, 2003, at 1:37 PM, Dieter Maurer wrote: Chris McDonough wrote at 2003-12-21 18:16 -0500: ... Will need to do this under 2.7b4+: import Zope Zope.configure('/path/to/configfile') app = Zope.app() ... Jim Roepke suggested that if an "ZOPE_CONFIG" envvar was set with the config file path, that "import Zope; Zope.app()" could be made to "just work", A very good suggestion! but I'm not sure this is any better than requiring that developers change their scripts. For developpers, it is much better: Add an environment variable at one (or a few) central place versus change lots of scripts. Guessing at the config file location is also fraught with problems, and I'd be hesitant to do it. The suggestion was to use the value of "ZOPE_CONFIG" as config file path. Thus, you do not need to guess... -- Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Understanding 2.7 Product import
Ok 2.7 has an instance/Products directory. What magic is letting them be imported? I'm running a bunch of data loader scripts that create persistent zope products. I have found that: import Globals sets things up so that my data loader scripts can import products properly (even though their path is not in sys.path). I looked around in Globals to figure out what's going on and didn't find it. It would be nice if something in: import Zope. would kick off the special import magic! It seems a lot more intuitive to have this at the top of the __main__ script instead of Globals. -EAD ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Re: restrictedTraverse doesn't give the good container
Hi, > Please don't cross-post. > You already posted this exact question to [EMAIL PROTECTED], > and received two replies to which you did not follow up. Sorry if I did that, but my Webmail gives me some trouble, and you've certainly knew it because you can't reach my box. > Why should we have time to fix your problem when you > apparently don't have time to respond to our replies? I don't ask for someone to fix my problem, just to know if someone had fixed it before. I have no time to have a look yet, but if nobody had fixed up, I will fixed up later. Incidetn is closed. Just for the answer fo the link below : http://aspn.activestate.com/ASPN/Mail/Message/zope-List/1993724 No the path is not absolute. I have this hierarchy : -Root --ThisFolder ---FolderA ... I've written as: ... thepath = 'ThisFolder' path = context.restrictedTraverse(thepath) ... To follow the folders I've written: ... herenow = context.restrictedTraverse(path+'/FolderC') herenow = herenow.restrictedTraverse(path+'/FolderC') ... Sincerily PS -- Oreka ! Nous sommes l'internet moins cher ! Surfez 25% moins cher avec http://www.oreka.com -- Oreka ! Nous sommes l'internet moins cher ! Surfez 25% moins cher avec http://www.oreka.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )