## Script (Python) "ti_474_resolve" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: ti_474_resolve.py 3159 2008-02-13 20:13:28Z henrik $ """ """ 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_474_resolve') from Products.AdvancedQuery import Eq, Between, Le,In aq_students = context.students_catalog.evalAdvancedQuery aq_portal = context.portal_catalog_real.evalAdvancedQuery course_results = context.course_results aq_course_results = course_results.evalAdvancedQuery students_folder = context.portal_url.getPortalObject().campus.students request = context.REQUEST session = request.SESSION response = request.RESPONSE setheader = request.RESPONSE.setHeader def rwrite(s): response.setHeader('Content-type','text/html; charset=ISO-8859-15') response.write("%s
\n\r" % s) course_results_to_change = [] logger.info('start') #set_trace() for result in course_results(): student_id,level_id,code = result.key.split('|') if result.student_id != student_id: d = {} d['key'] = result.key d['student_id'] = student_id d['level_id'] = level_id course = context.courses_catalog.getRecordByKey(result.code) d['credits'] = course.credits d['semester'] = course.semester d['session_id'] = '06' course_results_to_change += d, logger.info('found %d correctable results' % len(course_results_to_change)) #set_trace() for result in course_results_to_change: try: course_results.modifyRecord(**result) logger.info('correcting %(key)s' % result) except KeyError: #set_trace() logger.info('%(key)s not found there' % result) logger.info('finished')