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

« back to all changes in this revision

Viewing changes to bin/ivle-addexercise

  • Committer: William Grant
  • Date: 2010-02-17 08:37:22 UTC
  • Revision ID: grantw@unimelb.edu.au-20100217083722-ji4v6fbztngy0p3s
Add UI to edit/delete enrolments.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import os, sys, traceback
24
24
import xml.dom.minidom as minidom
25
25
 
 
26
from ivle.config import Config
26
27
from ivle.database import Exercise, TestSuite, TestCase, TestSuiteVar, TestCasePart, get_store
27
28
 
28
29
class XMLMalformedError(Exception):
61
62
    cases = []
62
63
    case_num = 0
63
64
    for case_node in suite_node.getElementsByTagName('function'):
 
65
        cases.append(add_test_case(case_node, case_num, store))
64
66
        case_num += 1
65
 
        cases.append(add_test_case(case_node, case_num, store))
66
67
 
67
68
    ## ALLOWED TAGS ##
68
69
    # stdin     - Stdin for the suite - Unique - Text inside element
175
176
xmlfile = sys.argv[1]
176
177
 
177
178
def add_exercise(xmlfile):
 
179
    # Skip existing ones.
 
180
    if store.find(Exercise, id=unicode(xmlfile)).count():
 
181
        return
 
182
 
 
183
    print "Adding exercise", xmlfile
178
184
    try:
179
185
        filedom = minidom.parse(xmlfile)
180
186
    except IOError, e:
215
221
        elif child.tagName == 'desc':
216
222
            description = getTextData(child)
217
223
 
218
 
    if solution is None:
219
 
        raise XMLMalformedError("ivle-addexercise: error parsing XML: No solution given")
220
 
    if len(test_suite_nodes) == 0:
221
 
        raise XMLMalformedError("ivle-addexercise: error parsing XML: No Tests Given!")
222
 
 
223
 
    store = get_store()
224
224
    new_exercise = Exercise()
225
225
    new_exercise.id = unicode(xmlfile)
226
226
    new_exercise.name = exercisename
238
238
 
239
239
    store.add(new_exercise)
240
240
    store.commit()
241
 
    
 
241
 
 
242
store = get_store(Config())
 
243
 
242
244
xmlfiles = sys.argv[1:]
243
245
for xmlfile in xmlfiles:
244
 
    print "Adding exercise", xmlfile
245
246
    try:
246
247
        add_exercise(xmlfile)
247
248
    except Exception, e: