From ef6e03f32b1ceb71182332313c30fc423550cb1d Mon Sep 17 00:00:00 2001 From: Michael Youngstrom Date: Fri, 29 Mar 2019 09:47:35 -0400 Subject: [PATCH] INCR-182 --- .../core/djangoapps/credit/api/eligibility.py | 26 ++++++++++------- .../core/djangoapps/credit/api/provider.py | 28 +++++++++---------- .../commands/delete_historical_credit_data.py | 1 + .../credit/migrations/0001_initial.py | 13 +++++---- .../credit/migrations/0002_creditconfig.py | 4 +-- .../migrations/0003_auto_20160511_2227.py | 2 +- .../0004_delete_historical_credit_records.py | 2 +- 7 files changed, 41 insertions(+), 35 deletions(-) diff --git a/openedx/core/djangoapps/credit/api/eligibility.py b/openedx/core/djangoapps/credit/api/eligibility.py index 3d4c5ce57c..fe341424b4 100644 --- a/openedx/core/djangoapps/credit/api/eligibility.py +++ b/openedx/core/djangoapps/credit/api/eligibility.py @@ -3,17 +3,23 @@ APIs for configuring credit eligibility requirements and tracking whether a user has satisfied those requirements. """ +from __future__ import absolute_import + import logging +import six from opaque_keys.edx.keys import CourseKey -from openedx.core.djangoapps.credit.email_utils import send_credit_notifications -from openedx.core.djangoapps.credit.exceptions import InvalidCreditRequirements, InvalidCreditCourse -from openedx.core.djangoapps.credit.models import ( - CreditCourse, CreditRequirement, CreditRequirementStatus, CreditEligibility, CreditRequest -) - from course_modes.models import CourseMode +from openedx.core.djangoapps.credit.email_utils import send_credit_notifications +from openedx.core.djangoapps.credit.exceptions import InvalidCreditCourse, InvalidCreditRequirements +from openedx.core.djangoapps.credit.models import ( + CreditCourse, + CreditEligibility, + CreditRequest, + CreditRequirement, + CreditRequirementStatus +) from student.models import CourseEnrollment # TODO: Cleanup this mess! ECOM-2908 @@ -175,12 +181,12 @@ def get_eligibilities_for_user(username, course_key=None): """ eligibilities = CreditEligibility.get_user_eligibilities(username) if course_key: - course_key = CourseKey.from_string(unicode(course_key)) + course_key = CourseKey.from_string(six.text_type(course_key)) eligibilities = eligibilities.filter(course__course_key=course_key) return [ { - "course_key": unicode(eligibility.course.course_key), + "course_key": six.text_type(eligibility.course.course_key), "deadline": eligibility.deadline, } for eligibility in eligibilities @@ -257,7 +263,7 @@ def set_credit_requirement_status(user, course_key, req_namespace, req_name, sta u'because the requirement does not exist. ' u'The user "%s" should have had his/her status updated to "%s".' ), - unicode(course_key), req_namespace, req_name, user.username, status + six.text_type(course_key), req_namespace, req_name, user.username, status ) return @@ -311,7 +317,7 @@ def remove_credit_requirement_status(username, course_key, req_namespace, req_na u'with namespace "%s" and name "%s" ' u'because the requirement does not exist. ' ), - unicode(course_key), req_namespace, req_name + six.text_type(course_key), req_namespace, req_name ) return diff --git a/openedx/core/djangoapps/credit/api/provider.py b/openedx/core/djangoapps/credit/api/provider.py index c139cb9929..cf87abdc3d 100644 --- a/openedx/core/djangoapps/credit/api/provider.py +++ b/openedx/core/djangoapps/credit/api/provider.py @@ -2,37 +2,35 @@ API for initiating and tracking requests for credit from a provider. """ +from __future__ import absolute_import + import datetime import logging import uuid import pytz +import six from django.db import transaction - from edx_proctoring.api import get_last_exam_completion_date + from openedx.core.djangoapps.credit.exceptions import ( - UserIsNotEligible, CreditProviderNotConfigured, - RequestAlreadyCompleted, CreditRequestNotFound, InvalidCreditStatus, + RequestAlreadyCompleted, + UserIsNotEligible ) from openedx.core.djangoapps.credit.models import ( - CreditProvider, - CreditRequirementStatus, - CreditRequest, CreditEligibility, + CreditProvider, + CreditRequest, + CreditRequirementStatus ) - -from student.models import ( - User, - CourseEnrollment, -) -from openedx.core.djangoapps.credit.signature import signature, get_shared_secret_key +from openedx.core.djangoapps.credit.signature import get_shared_secret_key, signature +from student.models import CourseEnrollment, User from util.date_utils import to_timestamp from util.json_request import JsonResponse - # TODO: Cleanup this mess! ECOM-2908 log = logging.getLogger(__name__) @@ -258,10 +256,10 @@ def create_credit_request(course_key, provider_id, username): ).reason["final_grade"] # NOTE (CCB): Limiting the grade to seven characters is a hack for ASU. - if len(unicode(final_grade)) > 7: + if len(six.text_type(final_grade)) > 7: final_grade = u'{:.5f}'.format(final_grade) else: - final_grade = unicode(final_grade) + final_grade = six.text_type(final_grade) except (CreditRequirementStatus.DoesNotExist, TypeError, KeyError): msg = u'Could not retrieve final grade from the credit eligibility table for ' \ diff --git a/openedx/core/djangoapps/credit/management/commands/delete_historical_credit_data.py b/openedx/core/djangoapps/credit/management/commands/delete_historical_credit_data.py index d9278cc1cf..f0c9ab52a6 100644 --- a/openedx/core/djangoapps/credit/management/commands/delete_historical_credit_data.py +++ b/openedx/core/djangoapps/credit/management/commands/delete_historical_credit_data.py @@ -3,6 +3,7 @@ Command to delete all rows from the credit_historicalcreditrequest and credit_historicalcreditrequirementstatus tables. """ +from __future__ import absolute_import import logging from openedx.core.djangoapps.credit.models import CreditRequest, CreditRequirementStatus from openedx.core.djangoapps.util.row_delete import delete_rows, BaseDeletionCommand diff --git a/openedx/core/djangoapps/credit/migrations/0001_initial.py b/openedx/core/djangoapps/credit/migrations/0001_initial.py index 3ad57bfe01..168ff692d5 100644 --- a/openedx/core/djangoapps/credit/migrations/0001_initial.py +++ b/openedx/core/djangoapps/credit/migrations/0001_initial.py @@ -1,16 +1,17 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals -from django.db import migrations, models -import openedx.core.djangoapps.credit.models -import model_utils.fields -import jsonfield.fields +import django.core.validators import django.db.models.deletion import django.utils.timezone +import jsonfield.fields +import model_utils.fields from django.conf import settings -import django.core.validators +from django.db import migrations, models from opaque_keys.edx.django.models import CourseKeyField +import openedx.core.djangoapps.credit.models + class Migration(migrations.Migration): diff --git a/openedx/core/djangoapps/credit/migrations/0002_creditconfig.py b/openedx/core/djangoapps/credit/migrations/0002_creditconfig.py index 77b411edc9..1d6b645c6f 100644 --- a/openedx/core/djangoapps/credit/migrations/0002_creditconfig.py +++ b/openedx/core/djangoapps/credit/migrations/0002_creditconfig.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals -from django.db import migrations, models import django.db.models.deletion from django.conf import settings +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/openedx/core/djangoapps/credit/migrations/0003_auto_20160511_2227.py b/openedx/core/djangoapps/credit/migrations/0003_auto_20160511_2227.py index a8a676e788..5f054e8418 100644 --- a/openedx/core/djangoapps/credit/migrations/0003_auto_20160511_2227.py +++ b/openedx/core/djangoapps/credit/migrations/0003_auto_20160511_2227.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.db import migrations, models diff --git a/openedx/core/djangoapps/credit/migrations/0004_delete_historical_credit_records.py b/openedx/core/djangoapps/credit/migrations/0004_delete_historical_credit_records.py index db1d98110a..30af0af540 100644 --- a/openedx/core/djangoapps/credit/migrations/0004_delete_historical_credit_records.py +++ b/openedx/core/djangoapps/credit/migrations/0004_delete_historical_credit_records.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.db import migrations, models