~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/tutorial/__init__.py

  • Committer: Matt Giuca
  • Date: 2009-04-25 14:37:42 UTC
  • mfrom: (1195.1.19 marks-fix)
  • Revision ID: matt.giuca@gmail.com-20090425143742-741mh2plk0cgib3e
Merged branch marks-fix. Fixes Google Code issue 144.

bin/ivle-marks: Completely rewritten. (Was hopelessly out-of-date, and didn't
    work at all. Now works on the current database model, and has new features
    to boot - able to select the semester and cutoff date).

ivle.worksheet.utils: Added calculate_mark, which is from the duplicated code
    in both bin/ivle-marks and ivle.webapp.tutorial.OfferingView.populate.
    Also added some extra optional arguments for calculating
    exercise/worksheet scores from a particular date.

ivle.webapp.tutorial: Call ivle.worksheet.utils.calculate_mark instead of
    manually calculating (avoid code duplication).

ivle.database: A few new methods on the Subject class, for retrieving
    offerings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
137
137
                ctx['complete_class'] = "semicomplete"
138
138
            else:
139
139
                ctx['complete_class'] = "incomplete"
140
 
            ctx['problems_pct'] = (100 * problems_done) / problems_total
141
 
 
142
 
            # We want to display a students mark out of 5. However, they are
143
 
            # allowed to skip 1 in 5 questions and still get 'full marks'.
144
 
            # Hence we divide by 16, essentially making 16 percent worth
145
 
            # 1 star, and 80 or above worth 5.
146
 
            ctx['max_mark'] = 5
147
 
            ctx['mark'] = min(ctx['problems_pct'] / 16, ctx['max_mark'])
 
140
            # Calculate the final percentage and mark for the subject
 
141
            ctx['problems_pct'], ctx['mark'], ctx['max_mark'] = (
 
142
                ivle.worksheet.utils.calculate_mark(
 
143
                    problems_done, problems_total))
148
144
 
149
145
class WorksheetView(XHTMLView):
150
146
    '''The view of a worksheet with exercises.'''