Пример #1
0
def _update_context_with_catalog_data(context, course_key):
    """
    Updates context dictionary with relevant course run info from Discovery.
    """
    course_certificate_settings = CertificateGenerationCourseSetting.get(
        course_key)
    if course_certificate_settings:
        course_run_fields = []
        if course_certificate_settings.language_specific_templates_enabled:
            course_run_fields.append('content_language')
        if course_certificate_settings.include_hours_of_effort:
            course_run_fields.extend(['weeks_to_complete', 'max_effort'])
        if course_run_fields:
            course_run_data = get_course_run_details(course_key,
                                                     course_run_fields)
            if course_run_data.get(
                    'weeks_to_complete') and course_run_data.get('max_effort'):
                try:
                    weeks_to_complete = int(
                        course_run_data['weeks_to_complete'])
                    max_effort = int(course_run_data['max_effort'])
                    context['hours_of_effort'] = weeks_to_complete * max_effort
                except ValueError:
                    log.exception(
                        'Error occurred while parsing course run details')
            context['content_language'] = course_run_data.get(
                'content_language')
Пример #2
0
def _get_catalog_data_for_course(course_key):
    """
    Retrieve data from the Discovery service necessary for rendering a certificate for a specific course.
    """
    course_certificate_settings = CertificateGenerationCourseSetting.get(
        course_key)
    if not course_certificate_settings:
        return {}

    catalog_data = {}
    course_run_fields = []
    if course_certificate_settings.language_specific_templates_enabled:
        course_run_fields.append('content_language')
    if course_certificate_settings.include_hours_of_effort:
        course_run_fields.extend(['weeks_to_complete', 'max_effort'])

    if course_run_fields:
        course_run_data = get_course_run_details(course_key, course_run_fields)
        if course_run_data.get('weeks_to_complete') and course_run_data.get(
                'max_effort'):
            try:
                weeks_to_complete = int(course_run_data['weeks_to_complete'])
                max_effort = int(course_run_data['max_effort'])
                catalog_data[
                    'hours_of_effort'] = weeks_to_complete * max_effort
            except ValueError:
                log.exception(
                    'Error occurred while parsing course run details')
        catalog_data['content_language'] = course_run_data.get(
            'content_language')

    return catalog_data
Пример #3
0
def _get_catalog_data_for_course(course_key):
    """
    Retrieve data from the Discovery service necessary for rendering a certificate for a specific course.
    """
    course_certificate_settings = CertificateGenerationCourseSetting.get(course_key)
    if not course_certificate_settings:
        return {}

    catalog_data = {}
    course_run_fields = []
    if course_certificate_settings.language_specific_templates_enabled:
        course_run_fields.append('content_language')
    if course_certificate_settings.include_hours_of_effort:
        course_run_fields.extend(['weeks_to_complete', 'max_effort'])

    if course_run_fields:
        course_run_data = get_course_run_details(course_key, course_run_fields)
        if course_run_data.get('weeks_to_complete') and course_run_data.get('max_effort'):
            try:
                weeks_to_complete = int(course_run_data['weeks_to_complete'])
                max_effort = int(course_run_data['max_effort'])
                catalog_data['hours_of_effort'] = weeks_to_complete * max_effort
            except ValueError:
                log.exception('Error occurred while parsing course run details')
        catalog_data['content_language'] = course_run_data.get('content_language')

    return catalog_data
Пример #4
0
def _update_context_with_catalog_data(context, course_key):
    """
    Updates context dictionary with relevant course run info from Discovery.
    """
    course_certificate_settings = CertificateGenerationCourseSetting.get(course_key)
    if course_certificate_settings:
        course_run_fields = []
        if course_certificate_settings.language_specific_templates_enabled:
            course_run_fields.append('content_language')
        if course_certificate_settings.include_hours_of_effort:
            course_run_fields.extend(['weeks_to_complete', 'max_effort'])
        if course_run_fields:
            course_run_data = get_course_run_details(course_key, course_run_fields)
            if course_run_data.get('weeks_to_complete') and course_run_data.get('max_effort'):
                try:
                    weeks_to_complete = int(course_run_data['weeks_to_complete'])
                    max_effort = int(course_run_data['max_effort'])
                    context['hours_of_effort'] = weeks_to_complete * max_effort
                except ValueError:
                    log.exception('Error occurred while parsing course run details')
            context['content_language'] = course_run_data.get('content_language')