diff options
author | Prabhu Ramachandran | 2015-09-29 13:45:06 +0530 |
---|---|---|
committer | Prabhu Ramachandran | 2015-09-29 13:45:06 +0530 |
commit | ebbf135af98720f1979cd28a9108817bac385ce7 (patch) | |
tree | e812ac5466ad043f867c58bc363df823522a8468 /testapp/yaksh_app/management/commands/load_exam.py | |
parent | 31f5e743031d105b0406e9587dc33bb065cd6e4d (diff) | |
parent | 53be4bc2ec40a9a84ff5ea73db2fbea0a07f5338 (diff) | |
download | online_test-ebbf135af98720f1979cd28a9108817bac385ce7.tar.gz online_test-ebbf135af98720f1979cd28a9108817bac385ce7.tar.bz2 online_test-ebbf135af98720f1979cd28a9108817bac385ce7.zip |
Merge pull request #56 from ankitjavalkar/examtime
Start and Expiry times for Quizzes
Diffstat (limited to 'testapp/yaksh_app/management/commands/load_exam.py')
-rw-r--r-- | testapp/yaksh_app/management/commands/load_exam.py | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/testapp/yaksh_app/management/commands/load_exam.py b/testapp/yaksh_app/management/commands/load_exam.py deleted file mode 100644 index 9163fdc..0000000 --- a/testapp/yaksh_app/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 testapp.yaksh_app.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') - |