[Zope] restrictedTraverse without acquisition
    Jonathan Hobbs 
    toolkit at magma.ca
       
    Tue Jul 13 13:51:59 EDT 2004
    
    
  
From: "R Karthick" <catchkarthick at yahoo.com>
> i have this directory structure
> 
>     /
>     |- clients/projects/abc/batches/001
>     |- wg/projects/cba/batches/100
> 
> now i am running a script python from 001 folder. now
> i want to check whether there is any folder called abc
> in wg/projects folder. i do this by a try statedment
> 
> try:
>    foo = context.restrictedTraverse("wg/projects/abc")
> catch:
>    ... # create the directory
> 
> It goes into the workgroup folder. But when it sees
> the project folder, through acquisition it finds the
> projects folder inside clients hierarchy first and
> finds that the folder abc is actually present.
> 
> I want context.restrictedTraverse to behave in a way
> that it acquire wg but after that projects should not
> be acquired but should follow the wg.
How about something like: (warning - untested)
foo = context.restrictedTraverse("wg/projects")
found = 0
for i in foo.objectItems():
   if str(i[0]) == 'abc':
      found = 1
if not found:
    ... # create the directory
HTH
Jonathan
    
    
More information about the Zope
mailing list