[Zope-dev] Recursive folders from Python

Kapil Thangavelu kthangavelu@earthlink.net
Mon, 16 Oct 2000 13:51:38 -0700


not an answer to the original question... but an alternative approach


from OFS import Folder

def create_folders(self, number):
	''' create a set of recursive folders with depth equal to number'''

	parent = self
	for index in xrange(number):
		folder = Folder()
		folder.id = str(number)
		parent._setObject(folder, str(number))
		parent = folder





Andy McKay wrote:
> 
> Try using getattr to get the object... heres a python script to do it a
> little more cleanly:
> 
> import string
> 
> def create_folders(self):
>  path = '/a/b/c'      # create a folder for each part of the string, nested.
> 
>  for p in string.split(path, '/'):
>   if p != '':
>    self = create_folder(self, p)
> 
>  return 'Done'
> 
> def create_folder(folder, id):
>  try: folder.manage_addFolder(id)
>  except: pass
> 
>  new_folder = getattr(folder, id)
>  return new_folder
> 
> ----- Original Message -----
> From: "Jason Spisak" <444@hiretechs.com>
> To: <zope-dev@zope.org>
> Sent: Monday, October 16, 2000 10:46 AM
> Subject: [Zope-dev] Recursive folders from Python
> 
> > Zopists,
> >
> > Yesterday I was trying to create recursive folders from DTML.
> > I'd like to do the same from Python.
> > Does anyonw know why this code won't create a folder within a folder.
> > It's tells me the id is already in use, so that means it's not
> > descending into the newly created folder to make another folder.
> >
> > def create(self):
> >     for digit in range(0, 10):
> >         folder    = self.manage_addFolder(str(digit), str(digit))
> >         subfolder = self.folder.manage_addFolder(str(digit), str(digit))
> >
> > All my best,
> >
> > Jason Spisak
> > 444@hiretechs.com
> >
> > _______________________________________________
> > Zope-Dev maillist  -  Zope-Dev@zope.org
> > http://lists.zope.org/mailman/listinfo/zope-dev
> > **  No cross posts or HTML encoding!  **
> > (Related lists -
> >  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope )
> >
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )