Déplacement pour eggification.
[Plinn.git] / _zctl / rebuild-catalog.py
diff --git a/_zctl/rebuild-catalog.py b/_zctl/rebuild-catalog.py
deleted file mode 100644 (file)
index 1436969..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-from argparse import ArgumentParser
-import os.path
-from Acquisition import aq_base
-from zope.site.hooks import setSite
-from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
-import transaction
-
-count = 0
-errorLog = None
-
-def checkContents(ob) :
-    global count
-    global errorLog
-    try :
-        print ob.absolute_url()
-    except Exception, e:
-        print >> errorLog, '%s/%s' % (ob.aq_parent.absolute_url(), ob.aq_base.id)
-        print >> errorLog, getattr(ob, 'portal_type', getattr(ob, 'meta_type', ''))
-        print >> errorLog, e
-        print >> errorLog
-    
-    if isinstance(aq_base(ob), CMFCatalogAware) :
-        ctool = ob._getCatalogTool()
-        assert ctool
-        try :
-            ctool.indexObject(ob)
-            count = count + 1
-            if count % 1000 == 0 :
-                transaction.commit()
-                print count, 'commit.'
-        except Exception, e:
-            print >> errorLog, '%s/%s' % (ob.aq_parent.absolute_url(), ob.aq_base.id)
-            print >> errorLog, e
-        
-    if hasattr(aq_base(ob), 'objectItems') :
-        obs = ob.objectItems()
-        for k, v in obs :
-            checkContents(v)
-
-
-def indexMemberdata(portal) :
-    mtool = portal.portal_membership
-    ctool = portal.portal_catalog
-    for m in mtool.getOtherMembers([]) :
-        ctool.indexObject(m)
-
-def main(path) :
-    portal = app.unrestrictedTraverse(path)
-    setSite(portal)
-    errorLogPath = os.path.expanduser(args.errorLogPath)
-    global errorLog
-    errorLog = open(errorLogPath, 'w')
-
-    try :
-        checkContents(portal)
-        transaction.commit()
-        indexMemberdata(portal)
-        transaction.commit()
-        print count
-        print 'Done.'
-    finally :
-        errorLog.close()
-    
-
-
-if __name__ == '__main__':
-    parser = ArgumentParser(description="Rebuild entire catalog by walking contents tree.")
-    parser.add_argument('portal_path')
-    parser.add_argument('--error-log', help='Error log file. Default: ~/catalog-rebuild-error.log',
-                        default='~/catalog-rebuild-error.log', required=False, dest='errorLogPath')
-
-    args = parser.parse_args()
-    main(args.portal_path)
-