def create_some_learner_data(): """ Just create a lil' bit-o-data of each type, to populate the table. """ user = CreateStudentMixin.create_student() attempt_states = ( # (name, streak_progress, attempt_count) ("not started", 0, 0), ("completed", 100, 15), ("attempted", 50, 10), ("struggling", 30, 25), ) exercises = get_random_content(kinds=["Exercise"], limit=len(attempt_states)) # Important they are *distinct* for state in attempt_states: exercise = exercises.pop() log, created = ExerciseLog.objects.get_or_create(exercise_id=exercise.get("id"), user=user) if "not started" != state[0]: log.streak_progress, log.attempts = state[1:] for i in range(0, log.attempts): AttemptLog.objects.get_or_create( exercise_id=exercise.get("id"), user=user, seed=i, timestamp=datetime.datetime.now() ) log.latest_activity_timestamp = datetime.datetime.now() log.save()
def impl(context): for f in FacilityUser.objects.all(): f.soft_delete() name = 0 while FacilityUser.objects.count() < 3: context.facility = CreateStudentMixin.create_student(username=str(name)) name += 1
def create_some_learner_data(): """ Just create a lil' bit-o-data of each type, to populate the table. """ user = CreateStudentMixin.create_student() attempt_states = ( # (name, streak_progress, attempt_count) ("not started", 0, 0), ("completed", 100, 15), ("attempted", 50, 10), ("struggling", 30, 25), ) exercises = random.sample( get_exercise_cache().keys(), len(attempt_states)) # Important they are *distinct* for state in attempt_states: exercise = exercises.pop() log, created = ExerciseLog.objects.get_or_create(exercise_id=exercise, user=user) if "not started" != state[0]: log.streak_progress, log.attempts = state[1:] for i in range(0, log.attempts): AttemptLog.objects.get_or_create( exercise_id=exercise, user=user, seed=i, timestamp=datetime.datetime.now()) log.latest_activity_timestamp = datetime.datetime.now() log.save()
def impl(context): for f in FacilityUser.objects.all(): f.soft_delete() name = 0 while FacilityUser.objects.count() < 3: context.facility = CreateStudentMixin.create_student( username=str(name)) name += 1
def impl(context, learner, progress_verbs, exercise): user = CreateStudentMixin.create_student(username=learner) if not progress_verbs == "not started": log, created = ExerciseLog.objects.get_or_create(exercise_id=exercise, user=user) if progress_verbs == "completed": log.streak_progress = 100 log.attempts = 15 elif progress_verbs == "attempted": log.streak_progress = 50 log.attempts = 10 elif progress_verbs == "struggling": log.streak_progress = 30 log.attempts = 25 for i in range(0, log.attempts): attempt_log, created = AttemptLog.objects.get_or_create(exercise_id=exercise, user=user, seed=i, timestamp=datetime.datetime.now()) log.latest_activity_timestamp = datetime.datetime.now() log.save()
def impl(context, learner, progress_verbs, exercise): user = CreateStudentMixin.create_student(username=learner) if not progress_verbs == "not started": log, created = ExerciseLog.objects.get_or_create(exercise_id=exercise, user=user) if progress_verbs == "completed": log.streak_progress = 100 log.attempts = 15 elif progress_verbs == "attempted": log.streak_progress = 50 log.attempts = 10 elif progress_verbs == "struggling": log.streak_progress = 30 log.attempts = 25 for i in range(0, log.attempts): attempt_log, created = AttemptLog.objects.get_or_create( exercise_id=exercise, user=user, seed=i, timestamp=datetime.datetime.now()) log.latest_activity_timestamp = datetime.datetime.now() log.save()
def impl(context): context.user = CreateStudentMixin.create_student() context.password = CreateStudentMixin.DEFAULTS["password"]