X-Git-Url: https://scm.cri.minesparis.psl.eu/git/Plinn.git/blobdiff_plain/12d3a4e2539507b7740d48499fbb33c349cca11e..87728d9b4278a10b35c89d7ca114e9b0b60550dd:/migration/folder.py?ds=inline diff --git a/migration/folder.py b/migration/folder.py new file mode 100644 index 0000000..55cd462 --- /dev/null +++ b/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)