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

« back to all changes in this revision

Viewing changes to insert_exercise.py

  • Committer: dcoles
  • Date: 2008-07-02 03:10:36 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:797
Setup: Addition of an automatic jail builder. This means we no longer are 
required to maintain an explicit list of files and libraries that can be easily 
broken by a single update to the system. It also goes a huge way to making IVLE 
not only more 'update maintainable' but portable to other Unix systems.  
(Should be fairly trivial if the system supports APT, should be able to be 
modified to support other package manager systems with a bit of work).

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