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

« back to all changes in this revision

Viewing changes to insert_exercise.py

  • Committer: mattgiuca
  • Date: 2008-03-15 04:48:04 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:694
db: insert_problem_attempt now takes an exercisename and login name instead of
    DB ID keys. So it is higher level.
    It internally works out the problem ID and login ID before inserting.
tutorialservice: Now calls insert_problem_attempt passing the new arguments
    (again, tutorialservice does a lot less work now).

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