## Script (Python) "removeResults2"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=REQUEST
##title=
##
# $Id: removeResults2.py 1567 2007-03-17 08:34:51Z henrik $
"""
remove results according to faculty-prefix
"""
import logging
logger = logging.getLogger('Skins.removeResults2')

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)

faculties_to_del = ('SCN','LSC','PSC','PHA')

mtool = context.portal_membership
member = mtool.getAuthenticatedMember()
rcat = context.results_import
scat = context.students_catalog
if str(member) not in ('admin','joachim'):
    return
rwrite("start")
to_del = []
for r in rcat():
    if r.matric_no[:3] in faculties_to_del:
        to_del.append(r.key)
        rwrite(r.matric_no + " " + r.Level +"  " + r.CosCode + "<br />")
logger.info('%s starts to delete %s results' % (member,len(to_del)))
for uid in to_del:
    rcat.deleteRecord(uid)
logger.info('%s finished deletion of %s results' % (member,len(to_del)))
rwrite("Done")

