source: WAeUP_SRP/base/skins/waeup_utilities/moveCourseResults.py @ 2736

Last change on this file since 2736 was 2736, checked in by Henrik Bettermann, 17 years ago

move more course results

  • Property svn:keywords set to Id
File size: 2.3 KB
Line 
1## Script (Python) "ti_385_resolve"
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: moveCourseResults.py 2736 2007-11-22 09:27:03Z henrik $
11"""
12"""
13try:
14    from Products.zdb import set_trace
15except:
16    def set_trace():
17        pass
18
19mtool = context.portal_membership
20member = mtool.getAuthenticatedMember()
21if str(member) not in ('admin','joachim'):
22    return
23
24
25import logging
26import DateTime
27logger = logging.getLogger('Skins.moveCourseResults')
28from Products.AdvancedQuery import Eq, Between, Le,In
29aq_results = context.course_results.evalAdvancedQuery
30aq_students = context.students_catalog.evalAdvancedQuery
31students = context.portal_url.getPortalObject().campus.students
32request = context.REQUEST
33session = request.SESSION
34response = request.RESPONSE
35setheader = request.RESPONSE.setHeader
36#def rwrite(s):
37#    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
38#    response.write("%s<br>\n\r" % s)
39
40#logger.info('')
41
42brains = aq_students(In('review_state',('courses_registered','courses_validated')))
43total = len(brains)
44logger.info("found %d students" % (total))
45count = 0
46moved = 0
47cocount = 0
48commit_after = 20
49#moved_sids = context.course_results.uniqueValuesFor('student_id')
50for brain in brains:
51    count += 1
52    #if brain.id in moved_sids:
53    #    continue
54    try:
55        study_level = getattr(getattr(getattr(students,brain.id),
56                                  "study_course")
57                          ,brain.level)
58        results = study_level.objectIds()
59    except:
60        #rwrite('not found %s/study_course/%s' % (brain.id,brain.level))
61        continue
62    if not results:
63        continue
64        #rwrite('no result objects in %s/study_course/%s' % (brain.id,brain.level))
65    else:
66        #logger.info("moving  results of student %s" % (brain.id))
67        context.course_results.moveResultsHere(study_level,brain.id)
68        moved += 1
69        logger.info("moved results of student %s" % (brain.id))
70        if moved and not moved % commit_after:
71            context.waeup_tool.doCommit()
72            logger.info("Committing %s transactions, total %s" % (commit_after,count))
73            #cocount += 1
74            #if cocount > 2:
75            #    break
76
77msg = "finished moving results of %d students" % (moved)
78logger.info(msg)
79#rwrite(msg)
80
81
Note: See TracBrowser for help on using the repository browser.