source: WAeUP_SRP/trunk/skins/waeup_utilities/fixLevelFromResults.py @ 1392

Last change on this file since 1392 was 1392, checked in by Henrik Bettermann, 18 years ago

gemaess Telefongespräch

  • Property svn:keywords set to Id
File size: 2.9 KB
Line 
1## Script (Python) "search_pins"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=
8##title=
9##
10# $Id: fixLevelFromResults.py 1392 2007-02-05 15:59:08Z henrik $
11"""
12list Students for ClearanceOfficers
13"""
14
15request = context.REQUEST
16session = request.SESSION
17response = request.RESPONSE
18setheader = request.RESPONSE.setHeader
19
20#def rwrite(s):
21#    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
22#    response.write(s)
23   
24wftool = context.portal_workflow
25mtool = context.portal_membership
26member = mtool.getAuthenticatedMember()
27roles = member.getRolesInContext(context)
28retcat = context.returning_import
29rcat = context.results_import
30scat = context.students_catalog
31from Products.AdvancedQuery import Eq, Between, Le,In
32aq_students = context.students_catalog.evalAdvancedQuery
33students = context.portal_url.getPortalObject().campus.students
34
35
36
37
38if str(member) not in ('admin','joachim'):
39    return
40count = 0
41lc = 1
42lines = []
43#from Products.zdb import set_trace;set_trace()
44res = scat()
45for sbrain in res:
46
47    old_level = str(sbrain.level)
48 
49    if str(sbrain.level) == '100':
50        ec = "new"
51    else:
52        ec = "nor"
53    erg = context.results_import(matric_no=sbrain.matric_no)
54    if erg and erg[0].Level:
55        ec = "e"
56        level = erg[0].Level
57        for e in erg:
58            ec = "E"
59            if level != e.Level:
60                ec = "%s:%s!=%s<br />\n" % (sbrain.matric_no,level,e.Level)
61        level = "%d" % (int(level) + 100)
62
63        context.students_catalog.modifyRecord(id = sbrain.id, level="")
64
65        while True:
66            student = getattr(students,sbrain.id,None)
67            ec = "nos"
68            if student is None:
69                break
70            ec = "nyr"
71            study_course = getattr(student,"study_course", None)
72            if study_course is None:
73                break
74
75            study_course.getContent().edit(mapping = {'current_level':level})
76            context.students_catalog.modifyRecord(id = sbrain.id, level=level)
77
78            ec = "reg"
79            break
80
81#        rwrite(ec +"--"+ sbrain.id +"--"+ sbrain.matric_no +"--"+ old_level +"--"+ level +"<br />")
82
83        lines.append('"%s","%s","%s","%s","%s"' % (ec,sbrain.id,sbrain.matric_no,old_level,level))
84       
85
86    else:
87#        rwrite(ec +"--"+ sbrain.id +"--"+ sbrain.matric_no + "<br />")
88        lines.append('"%s","%s","%s","",""' % (ec,sbrain.id,sbrain.matric_no))
89       
90#    count += 1
91#    if count > 60:
92#        lc += 1
93#        rwrite("<br />\n%3d " % lc)
94#        count = 0
95
96#rwrite("<br />\n Done" )
97
98setheader('Content-type','text/semicolon-seperated-values')
99setheader('Content-Disposition:', 'attachment; filename="fixLevelExport.csv"')
100setheader('Expires',  'Mon, 26 Jul 1997 05:00:00GMT') # Date in the past
101setheader('Cache-Control', 'no-store, no-cache,must-revalidate') # HTTP/1.1
102setheader('Cache-Control', 'post-check=0,pre-check=0')
103setheader('Pragma', 'no-cache') # HTTP/1.0
104return '\n'.join(lines)
105
Note: See TracBrowser for help on using the repository browser.