Beispiel #1
0
def convertLPFolder(parent, folder):
    """ convert Large Plone Folders to Folders """
    id = folder.getId()
    newfolder = ATFolder(id)
    newfolder._setId(id)
    newfolder = newfolder.__of__(parent)

    uid = folder._at_uid

    for item_id, item in folder.objectItems():
        folder._objects = tuple(
            [i for i in folder._objects if i['id'] != item_id])
        folder._delOb(item_id)

        newfolder._objects = newfolder._objects + (
            {'id': item_id, 'meta_type': item.meta_type},)
        newfolder._setOb(item_id, aq_base(item))

    parent._objects = tuple([i for i in parent._objects if i['id'] != id])
    parent._delOb(id)

    newfolder._at_uid = uid
    parent._objects = parent._objects + (
        {'id': id, 'meta_type': newfolder.meta_type},)
    parent._setOb(id, aq_base(newfolder))

    #transaction.abort()
    return "%s, %s" % (id, folder.absolute_url(1))