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

« back to all changes in this revision

Viewing changes to insert_exercise.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:
1
 
 
2
 
import os
3
 
import pg
4
 
import sys
5
 
 
6
 
from common import db
7
 
 
8
 
if __name__ == "__main__":
9
 
    if len(sys.argv) < 2:
10
 
        print >> sys.stderr, "usage: %s filename ..." % sys.argv[0]
11
 
        print >> sys.stderr, "  insert the given filenames as exercises"
12
 
        sys.exit(1)
13
 
 
14
 
    conn = db.DB()
15
 
    for fname in sys.argv[1:]:
16
 
        if not os.access(fname, os.R_OK):
17
 
            print >> sys.stderr, "No permission to read %s" % fname
18
 
            continue
19
 
        spec = open(fname, "r").read()
20
 
 
21
 
        fields = {'identifier':fname, 'spec':spec}
22
 
        
23
 
        try:
24
 
            conn.insert(fields, 'problem', ['identifier', 'spec'])
25
 
        except Exception, e:
26
 
            print >> sys.stderr, "error inserting %s: %s" % (fname, repr(e))
27