X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/3c4367d8e03450e9a73e61f4247145d2b6c86a33..959d888c17d1403d2eeecc19bc4b5e2c8d1debf6:/Products/Plinn/migration/folder.py diff --git a/Products/Plinn/migration/folder.py b/Products/Plinn/migration/folder.py new file mode 100644 index 0000000..55cd462 --- /dev/null +++ b/Products/Plinn/migration/folder.py @@ -0,0 +1,25 @@ +from Products.Plinn.HugePlinnFolder import HugePlinnFolder + +IGNORED_ATTRIBUTES = ('_objects',) + +def migrateFolder(old, container) : + print 'migrate %s' % old.absolute_url() + + origid = old.getId() + title = old.Title() + toBeSkipped = IGNORED_ATTRIBUTES + tuple(old.objectIds()) + + new = HugePlinnFolder(origid, title=title) + + for name in old.__dict__.keys() : + if name in toBeSkipped : + continue + else : + setattr(new, name, getattr(old, name)) + + new._populateFromFolder(old) + + container._delOb(origid) + container._setOb(origid, new) + + return container._getOb(origid)