def export_ora2_data(entry_id, xmodule_instance_args): """ Generate a CSV of ora2 responses and push it to S3. """ action_name = ugettext_noop('generated') task_fn = partial(upload_ora2_data, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def rescore_problem(entry_id, xmodule_instance_args): """Rescores a problem in a course, for all students or one specific student. `entry_id` is the id value of the InstructorTask entry that corresponds to this task. The entry contains the `course_id` that identifies the course, as well as the `task_input`, which contains task-specific input. The task_input should be a dict with the following entries: 'problem_url': the full URL to the problem to be rescored. (required) 'student': the identifier (username or email) of a particular user whose problem submission should be rescored. If not specified, all problem submissions for the problem will be rescored. `xmodule_instance_args` provides information needed by _get_module_instance_for_task() to instantiate an xmodule instance. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('rescored') update_fcn = partial(rescore_problem_module_state, xmodule_instance_args) def filter_fcn(modules_to_update): """Filter that matches problems which are marked as being done""" return modules_to_update.filter(state__contains='"done": true') visit_fcn = partial(perform_module_state_update, update_fcn, filter_fcn) return run_main_task(entry_id, visit_fcn, action_name)
def proctored_exam_results_csv(entry_id, xmodule_instance_args): """ Compute proctored exam results report for a course and upload the CSV for download. """ action_name = 'generating_proctored_exam_results_report' task_fn = partial(upload_proctored_exam_results_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def course_survey_report_csv(entry_id, xmodule_instance_args): """ Compute the survey report for a course and upload the generated report to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('generated') task_fn = partial(upload_course_survey_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def exec_summary_report_csv(entry_id, xmodule_instance_args): """ Compute executive summary report for a course and upload the Html generated report to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = 'generating_exec_summary_report' task_fn = partial(upload_exec_summary_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def enrollment_report_features_csv(entry_id, xmodule_instance_args): """ Compute student profile information for a course and upload the CSV to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('generating_enrollment_report') task_fn = partial(upload_enrollment_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_problem_responses_csv(entry_id, xmodule_instance_args): """ Compute student answers to a given problem and upload the CSV to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('generated') task_fn = partial(upload_problem_responses_csv, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def cohort_students(entry_id, xmodule_instance_args): """ Cohort students in bulk, and upload the results. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. # An example of such a message is: "Progress: {action} {succeeded} of {attempted} so far" action_name = ugettext_noop('cohorted') task_fn = partial(cohort_students_and_upload, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_may_enroll_csv(entry_id, xmodule_instance_args): """ Compute information about invited students who have not enrolled in a given course yet and upload the CSV to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('generated') task_fn = partial(upload_may_enroll_csv, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def generate_certificates(entry_id, xmodule_instance_args): """ Grade students and generate certificates. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('certificates generated') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name) task_fn = partial(generate_students_certificates, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_grades_csv(entry_id, xmodule_instance_args): """ Grade a course and push the results to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('graded') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name) task_fn = partial(upload_grades_csv, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_problem_grade_report(entry_id, xmodule_instance_args): """ Generate a CSV for a course containing all students' problem grades and push the results to an S3 bucket for download. """ # Translators: This is a past-tense phrase that is inserted into task progress messages as {action}. action_name = ugettext_noop('problem distribution graded') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name) task_fn = partial(upload_problem_grade_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_grades_csv(entry_id, xmodule_instance_args): """ Grade a course and push the results to an S3 bucket for download. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('graded') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name ) task_fn = partial(upload_grades_csv, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def generate_certificates(entry_id, xmodule_instance_args): """ Grade students and generate certificates. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('certificates generated') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name ) task_fn = partial(generate_students_certificates, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def calculate_problem_grade_report(entry_id, xmodule_instance_args): """ Generate a CSV for a course containing all students' problem grades and push the results to an S3 bucket for download. """ # Translators: This is a past-tense phrase that is inserted into task progress messages as {action}. action_name = ugettext_noop('problem distribution graded') TASK_LOG.info( u"Task: %s, InstructorTask ID: %s, Task type: %s, Preparing for task execution", xmodule_instance_args.get('task_id'), entry_id, action_name ) task_fn = partial(upload_problem_grade_report, xmodule_instance_args) return run_main_task(entry_id, task_fn, action_name)
def send_bulk_course_email(entry_id, _xmodule_instance_args): """Sends emails to recipients enrolled in a course. `entry_id` is the id value of the InstructorTask entry that corresponds to this task. The entry contains the `course_id` that identifies the course, as well as the `task_input`, which contains task-specific input. The task_input should be a dict with the following entries: 'email_id': the full URL to the problem to be rescored. (required) `_xmodule_instance_args` provides information needed by _get_module_instance_for_task() to instantiate an xmodule instance. This is unused here. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('emailed') visit_fcn = perform_delegate_email_batches return run_main_task(entry_id, visit_fcn, action_name)
def reset_problem_attempts(entry_id, xmodule_instance_args): """Resets problem attempts to zero for a particular problem for all students in a course. `entry_id` is the id value of the InstructorTask entry that corresponds to this task. The entry contains the `course_id` that identifies the course, as well as the `task_input`, which contains task-specific input. The task_input should be a dict with the following entries: 'problem_url': the full URL to the problem to be rescored. (required) `xmodule_instance_args` provides information needed by _get_module_instance_for_task() to instantiate an xmodule instance. """ # Translators: This is a past-tense verb that is inserted into task progress messages as {action}. action_name = ugettext_noop('reset') update_fcn = partial(reset_attempts_module_state, xmodule_instance_args) visit_fcn = partial(perform_module_state_update, update_fcn, None) return run_main_task(entry_id, visit_fcn, action_name)
def _run_task(entry_id, push_to_s3, xmodule_instance_args): action_name = ugettext_noop('generated') task_fn = partial(push_to_s3, xmodule_instance_args) task = run_main_task(entry_id, task_fn, action_name) return task