## Script (Python) "setCurrentSession" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=REQUEST ##title= ## # $Id: set_current_session.py 1757 2007-05-08 17:22:45Z joachim $ """ set current_session of all students """ import logging logger = logging.getLogger('Skins.setCurrentSession') request = REQUEST response = request.RESPONSE try: from Products.zdb import set_trace except: def set_trace(): pass def rwrite(s): response.setHeader('Content-type','text/html; charset=ISO-8859-15') #response.setHeader('Content-length','%d' % (len(s))) #response.setStatus('OK') response.write("%s
\n\r" % s) return mtool = context.portal_membership member = mtool.getAuthenticatedMember() students_catalog = context.students_catalog students_folder = context.portal_url.getPortalObject().campus.students #rwrite("start") if str(member) not in ('admin','joachim'): return all = students_catalog() logger.info('%s starts to set %s ' % (member,len(all))) c = 0 count = 0 not_count = 0 not_count2 = 0 #set_trace() for student in all: c += 1 if c > 1000: logger.info('%s set %d, not found %d, session fields already set %d' % (member,count,not_count,not_count2)) c = 0 context.waeup_tool.doCommit() if not student.session: try: study_course_doc = getattr(getattr(students_folder,student.id),'study_course').getContent() study_course_doc.edit(mapping = {'current_session': '06'}) count += 1 data = {'session':'06'} data['id'] = student.id students_catalog.modifyRecord(**data) except: not_count += 1 #rwrite("%s/study_course not found" % student.id) else: not_count2 +=1 logger.info('%s finished to set %d of %d ' % (member,count,len(all))) return