## Script (Python) "writePassports"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=
##
# $Id: writeStudentImages.py 2292 2007-09-28 14:47:14Z 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

from Products.AdvancedQuery import Eq, In, MatchRegexp, Generic

import logging
import DateTime
logger = logging.getLogger('Skins.writePassports')

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<br>\n\r" % s)

#logger.info('')

#students = context.students_catalog()

aq_students = context.students_catalog.evalAdvancedQuery
query = In('mode',('ume_ft','ug_ft','de_ft','dp_ft','pg_ft'))
students = aq_students(query)

starttime = DateTime.DateTime()
logger.info("Start writing %d student passports" % len(students))
count = 0
chunk = 100
for student in students:
    count += 1
    if count and not count % chunk:
        logger.info("written %d of %d student passports " % (count,len(students)))
        context.waeup_tool.doCommit()
    context.waeup_tool.movePassportToFS(student.id)
