summaryrefslogtreecommitdiff
path: root/yaksh/management/commands/load_exam.py
diff options
context:
space:
mode:
authorPrabhu Ramachandran2018-03-21 18:32:48 +0530
committerGitHub2018-03-21 18:32:48 +0530
commit30d8671a7c46505561f885e463f60cd04a61a76a (patch)
tree810d73990f16d2a05fa73028675e243891291c02 /yaksh/management/commands/load_exam.py
parentaa64e8db6456260bf6f29086eff5012c970e14f3 (diff)
parentd75444f7995ad48dc256cd11a6d3c407a3934ebf (diff)
downloadonline_test-30d8671a7c46505561f885e463f60cd04a61a76a.tar.gz
online_test-30d8671a7c46505561f885e463f60cd04a61a76a.tar.bz2
online_test-30d8671a7c46505561f885e463f60cd04a61a76a.zip
Merge pull request #455 from ankitjavalkar/deprecate-cmd
Deprecate multiple management commands
Diffstat (limited to 'yaksh/management/commands/load_exam.py')
-rw-r--r--yaksh/management/commands/load_exam.py57
1 files changed, 0 insertions, 57 deletions
diff --git a/yaksh/management/commands/load_exam.py b/yaksh/management/commands/load_exam.py
deleted file mode 100644
index b354fbd..0000000
--- a/yaksh/management/commands/load_exam.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# System library imports.
-from os.path import basename
-
-# Django imports.
-from django.core.management.base import BaseCommand
-
-# Local imports.
-from yaksh.models import Question, Quiz
-
-def clear_exam():
- """Deactivate all questions from the database."""
- for question in Question.objects.all():
- question.active = False
- question.save()
-
- # Deactivate old quizzes.
- for quiz in Quiz.objects.all():
- quiz.active = False
- quiz.save()
-
-def load_exam(filename):
- """Load questions and quiz from the given Python file. The Python file
- should declare a list of name "questions" which define all the questions
- in pure Python. It can optionally load a Quiz from an optional 'quiz'
- object.
- """
- # Simply exec the given file and we are done.
- exec(open(filename).read())
-
- if 'questions' not in locals():
- msg = 'No variable named "questions" with the Questions in file.'
- raise NameError(msg)
-
- for question in questions:
- question[0].save()
- for tag in question[1]:
- question[0].tags.add(tag)
-
- if 'quiz' in locals():
- quiz.save()
-
-class Command(BaseCommand):
- args = '<q_file1.py q_file2.py>'
- help = '''loads the questions from given Python files which declare the
- questions in a list called "questions".'''
-
- def handle(self, *args, **options):
- """Handle the command."""
- # Delete existing stuff.
- clear_exam()
-
- # Load from files.
- for fname in args:
- self.stdout.write('Importing from {0} ... '.format(basename(fname)))
- load_exam(fname)
- self.stdout.write('Done\n')
-