[Zope-dev] Recursive folders from Python

Andy McKay andym@ActiveState.com
Mon, 16 Oct 2000 13:07:47 -0700


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 )
>