summaryrefslogtreecommitdiff
path: root/allotter/management/commands/loadoptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'allotter/management/commands/loadoptions.py')
-rw-r--r--allotter/management/commands/loadoptions.py60
1 files changed, 0 insertions, 60 deletions
diff --git a/allotter/management/commands/loadoptions.py b/allotter/management/commands/loadoptions.py
deleted file mode 100644
index f7c01e6..0000000
--- a/allotter/management/commands/loadoptions.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from optparse import make_option
-from csv import reader
-from django.core.management.base import BaseCommand
-from allotter.models import Exam, Option
-
-class Command(BaseCommand):
- option_list = BaseCommand.option_list + (
- make_option('--pcc',metavar='Paper course code file name', type=str),
- make_option('--cc',metavar='Course code file name', type=str),
- )
- help = "Give the filenames of the csv files that has all the option code, name and exam code relation"
-
- def handle(self, *args, **options):
-
- clean_option()
-
- load_option(options)
-
- self.stdout.write('Done\n')
-
-
-def clean_option():
- """Removes all the objects from the database, required as if not done there might be a case of multiple entries"""
- data = Option.objects.all()
- data.delete()
-
-def load_option(options):
- """Load option code and option name from the given csv file. The file should
- declare a list of "exam_code,option_code,option,code".
- """
- paperCourseFileName=options.get('pcc')
- courseCodeFileName=options.get('cc')
- try:
- paperCourseFile = open(paperCourseFileName, 'rb')
- except IOError as (errno,strerror):
- print "I/O error({0}): {1}".format(errno, strerror)
-
- try:
- courseCodeFile = open(courseCodeFileName, 'rb')
- except IOError as (errno,strerror):
- print "I/O error({0}): {1}".format(errno, strerror)
-
- paperReader = reader(paperCourseFile, delimiter=",")
- courseReader = reader(courseCodeFile, delimiter=",")
-
- courseDict = {}
-
- for data in courseReader:
- courseDict[int(data[0])]=data[1]
-
- for data in paperReader:
- exam = Exam.objects.get(exam_code=data[0])
- for value in data[1:len(data)]:
- try:
- new_option = Option.objects.get(opt_code=value)
- except Option.DoesNotExist:
- new_option = Option(opt_name=courseDict[int(value)],opt_code=value)
- new_option.save()
- new_option.exam.add(exam)
- print "Added (option {0} with code {1} and exam {2})".format(courseDict[int(value)],value,exam) \ No newline at end of file