## Script (Python) "ti_513_resolve" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: ti_531_resolve.py 3444 2008-04-17 06:39:36Z joachim $ """ """ try: from Products.zdb import set_trace except: def set_trace(): pass mtool = context.portal_membership member = mtool.getAuthenticatedMember() if str(member) not in ('admin','joachim'): return import logging import DateTime logger = logging.getLogger('Skins.ti_531_resolve') from Products.AdvancedQuery import Eq, Between, Le,In aq_students = context.students_catalog.evalAdvancedQuery aq_portal = context.portal_catalog_real.evalAdvancedQuery students_folder = context.portal_url.getPortalObject().campus.students request = context.REQUEST session = request.SESSION response = request.RESPONSE setheader = request.RESPONSE.setHeader count = 0 found = 0 not_deleted = 0 commit_after = 100 logger.info('start') students = context.students_catalog() pumes = aq_portal(Eq('portal_type','StudentPume')) total = len(pumes) logger.info('found %d Pume objects' % total) for pume in pumes: student_id = pume.getPath().split('/')[-2] student_object = getattr(students_folder,student_id) try: getattr(student_object,manage_delObjects,'') except: student_object.manage_permission("Delete objects",roles=['Manager',]) try: student_object.manage_delObjects('pume',) count += 1 logger.info('deleted Pume object of %s %d/%d' % (student_id,count,total)) except: student_object.manage_permission("Delete objects",roles=['Manager',]) not_deleted += 1 logger.info('could not delete Pume object of %s %d' % (student_id,not_deleted)) logger.info('finished deleting %d not deleted %d' % (count,not_deleted))