| 18 | | object = getattr(blog, ob_id, None) |
|---|
| 19 | | clean(blog, ob_id) |
|---|
| 20 | | |
|---|
| 21 | | if object: |
|---|
| 22 | | blog._setOb(ob_id, object) |
|---|
| 23 | | be = blog._getOb(ob_id,None) |
|---|
| 24 | | if not be: |
|---|
| | 24 | object = getattr(migrated_ob, ob_id, None) |
|---|
| | 25 | clean(migrated_ob, ob_id) |
|---|
| | 26 | if object is not None: |
|---|
| | 27 | if object.portal_type == 'BlogFolder': |
|---|
| | 28 | migrate2Btree(object) |
|---|
| | 29 | migrated_ob._setOb(ob_id, object) |
|---|
| | 30 | be = migrated_ob._getOb(ob_id,None) |
|---|
| | 31 | if be is None: |
|---|
| 40 | | |
|---|
| 41 | | |
|---|
| 42 | | |
|---|
| 43 | | from StringIO import StringIO |
|---|
| 44 | | from Products.Archetypes.Extensions.migrations import refreshCatalogs |
|---|
| 45 | | import transaction |
|---|
| 46 | | |
|---|
| 47 | | |
|---|
| 48 | | def migrateBlog(self): |
|---|
| 49 | | """ Migration from ATCTFolder basee blog (qg2.5.2) to ATCTBTreeFolder base. """ |
|---|
| 50 | | portal = getToolByName(self,'portal_url').getPortalObject() |
|---|
| 51 | | blog = getToolByName(self,'ttt') |
|---|
| 52 | | processed = migrateBlog2BTree(blog) |
|---|
| 53 | | transaction.commit() |
|---|
| 54 | | |
|---|
| 55 | | refreshCatalogs(portal, out=StringIO()) |
|---|
| 56 | | #catalog = getToolByName(self,'portal_catalog') |
|---|
| 57 | | #catalog.refreshCatalog() |
|---|
| 58 | | transaction.commit() |
|---|
| 59 | | |
|---|
| 60 | | |
|---|
| 61 | | |
|---|
| 62 | | return 'processed %s entries' % processed |
|---|
| | 43 | def migrateBlogs(self): |
|---|
| | 44 | """ Migration all portal's blogs to BTreeFoolder base. """ |
|---|
| | 45 | global processed |
|---|
| | 46 | catalog = getToolByName(self, 'portal_catalog') |
|---|
| | 47 | blogs = [b.getObject() for b in catalog(portal_type="Blog")] |
|---|
| | 48 | for blog in blogs: |
|---|
| | 49 | processed = migrate2Btree(blog) |
|---|
| | 50 | return 'processed: %d blogs with %d objects.' % (len(blogs),len(processed)) |
|---|