## Script (Python) "ti_229_resolve" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # $Id: ti_229_resolve.py 1881 2007-06-12 08:03:32Z henrik $ """ resolve ticket #229 """ try: from Products.zdb import set_trace except: def set_trace(): pass import logging #>>>>>>>>>>>>>>>>< logger = logging.getLogger('Skins.ti_229_resolve') # logger.info('already done on by joachim') # return #<<<<<<<<<<<<<<<<< from Products.AdvancedQuery import Eq, Between, Le,In aq_students = context.students_catalog.evalAdvancedQuery request = context.REQUEST session = request.SESSION response = request.RESPONSE setheader = request.RESPONSE.setHeader students = context.portal_url.getPortalObject().campus.students #from string import Template def rwrite(s): response.setHeader('Content-type','text/html; charset=ISO-8859-15') response.write("%s
\n\r" % s) logger.info('ti_229 started') query = In('level',(0,'')) brains = aq_students(query) total = len(brains) logger.info('found %d students' % total) count = 0 commit_after = 5 for brain in brains: try: study_course = getattr(getattr(students,brain.id),'study_course') except: logger.info('study_course of %s not found' % brain.id) continue s_results = context.results_import(matric_no = brain.matric_no) if s_results: lnr = context.getLevelFromResultsCosCode(s_results) level = "%d00" % lnr verdict,eligible = context.getVerdict(s_results[0].Verdict) if eligible: level = "%d00" % (lnr + 1) else: logger.info('matric_no %s not found in results_import' % brain.matric_no) continue count += 1 study_course.getContent().edit(mapping={'current_level': level, 'current_verdict': verdict, } ) logger.info('%d of %d changed level/verdict of %s to %s/%s' % (count, total, brain.id, level, verdict, )) if not count % commit_after: context.waeup_tool.doCommit() logger.info("committed %d transactions" % commit_after) logger.info('ti_229 finished for %d of %d' % (count,total)) return