summaryrefslogtreecommitdiff
path: root/yaksh
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh')
-rw-r--r--yaksh/management/commands/create_demo_course.py99
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")