~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 05:55:20 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:698
Added Save feature to tutorial system.
tutorialservice: Added "save" action, which works the same as submit, but
    saves to the DB instead of making an attempt, and doesn't run the code.
    Factored out code to open an exercise file.
tutorial: Added Save button to exercise boxen.
tutorial.js: Added saveexercise function, which makes an Ajax request to the
    "save" action of tutorialservice.

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