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

« back to all changes in this revision

Viewing changes to insert_exercise.py

  • Committer: William Grant
  • Date: 2010-02-25 03:18:21 UTC
  • Revision ID: grantw@unimelb.edu.au-20100225031821-mi9a2tm5679fht4d
Shuffle things around so that req.user and req.store only construct when actually retrieved, and ensure they're not retrieved for media files. Saves 50ms of DB connection time per request.

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