[Zope-dev] Recursive folders from Python, Thanks to all
Jason Spisak
444@hiretechs.com
Tue, 17 Oct 2000 04:45:06 GMT
Kapil and Others,
Thanks for the enlightening alternatives. That's one thing about this list
and Python, there's more than one way to skin an object.
All my best,
> 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))
> > >
Jason Spisak
444@hiretechs.com