diff options
Diffstat (limited to 'yaksh')
-rw-r--r-- | yaksh/management/commands/create_demo_course.py | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/yaksh/management/commands/create_demo_course.py b/yaksh/management/commands/create_demo_course.py deleted file mode 100644 index 6e2712f..0000000 --- a/yaksh/management/commands/create_demo_course.py +++ /dev/null @@ -1,99 +0,0 @@ -import os -import sys -from django.core.management.base import BaseCommand -from yaksh.models import Course, Question, Quiz, QuestionPaper, Profile, FileUpload -from yaksh.file_utils import extract_files -from yaksh.views import add_to_group -from django.contrib.auth.models import User -from django.utils import timezone -from django.contrib.auth.models import Group -from datetime import datetime, timedelta - - -def create_demo_course(): - """ creates a demo course, quiz """ - - success = False - group = Group.objects.filter(name="moderator") - if group: - print("Creating Demo User...") - # create a demo user - user, u_status = User.objects.get_or_create(username='yaksh_demo_user', - email='demo@test.com') - user.set_password("demo") - user.save() - Profile.objects.get_or_create(user=user, roll_number=0, - institute='demo_institute', - department='demo_department', - position='Faculty') - # add demo user to moderator group - demo_user = User.objects.filter(username='yaksh_demo_user') - add_to_group(demo_user) - else: - print ("Please Create 'moderator' Group") - print ("Unable to create Demo Course") - sys.exit() - - print("Creating Demo Course...") - # create a demo course - course, c_status = Course.objects.get_or_create(name="Yaksh Demo course", - enrollment="open", - creator=user) - - print("Creating Demo Quiz...") - demo_quiz = Quiz.objects.filter(course=course) - if not demo_quiz: - # create a demo quiz - demo_quiz = Quiz.objects.get_or_create(start_date_time=timezone.now(), - end_date_time=timezone.now() + timedelta(176590), - duration=30, active=True, - attempts_allowed=-1, - time_between_attempts=0, - description='Yaksh Demo quiz', pass_criteria=0, - language='Python', prerequisite=None, - course=course) - else: - print("Demo Quiz Already Created") - - print("Creating Demo Questions...") - questions = Question.objects.filter(active=True, summary="Yaksh Demo Question") - files = FileUpload.objects.filter(question__in=questions) - if not files: - #create demo question - f_path = os.path.join(os.getcwd(), 'yaksh', 'fixtures', 'demo_questions.json') - zip_file_path = os.path.join(os.getcwd(), 'yaksh', 'fixtures', 'demo_questions.zip') - extract_files(zip_file_path) - ques = Question() - ques.read_json("questions_dump.json", user) - - if questions: - print("Creating Demo Question Paper...") - # create a demo questionpaper - que_ppr = QuestionPaper.objects.filter(quiz=demo_quiz[0]) - if not que_ppr: - question_paper, q_ppr_status = QuestionPaper.objects.get_or_create(quiz=demo_quiz[0], - total_marks=5.0, - shuffle_questions=True - ) - # add fixed set of questions to the question paper - for question in questions: - question_paper.fixed_questions.add(question) - else: - print("Question Paper Already Created") - else: - print("Questions Not Found Please Check Question Summary") - - success = True - return success - - -class Command(BaseCommand): - help = "Create a Demo Course, Demo Quiz" - - def handle(self, *args, **options): - """ Handle command to create demo course """ - status = create_demo_course() - if status: - self.stdout.write("Successfully Created") - else: - self.stdout.write("Unable to create Demo Course") |