[Zope-dev] Re: restrictedTraverse doesn't give the good container

2004-02-16 Thread Pascal Samuzeau
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 )


[Zope-dev] Understanding 2.7 Product import

2004-02-16 Thread Erik A . Dahl
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 )


Re: [Zope-dev] app = Zope.app() backwards incompatibility notice / discussion

2004-02-16 Thread Erik A . Dahl
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

2004-02-16 Thread Chris McDonough
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 )