INCR-258 Run python-modernize on lms/djangoapps/experiments (#20560)

* run python modernize

* run isort

* Fix quality
This commit is contained in:
Stu Young
2019-05-21 11:48:28 -04:00
committed by Christie Rice
parent 5e6c7b9911
commit d5ee03e81d
15 changed files with 85 additions and 19 deletions

View File

@@ -1,3 +1,8 @@
"""
Experimentation admin config
"""
from __future__ import absolute_import
from django.contrib import admin
from .models import ExperimentData, ExperimentKeyValue

View File

@@ -1,3 +1,8 @@
"""
Experimentation factories
"""
from __future__ import absolute_import
import factory
import factory.fuzzy

View File

@@ -1,3 +1,8 @@
"""
Experimentation filters
"""
from __future__ import absolute_import
import django_filters
from experiments.models import ExperimentData, ExperimentKeyValue

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from __future__ import absolute_import
from django.db import migrations, models
from django.conf import settings
import django.utils.timezone

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from __future__ import absolute_import
from django.db import migrations, models
import django.utils.timezone
import model_utils.fields

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from __future__ import absolute_import
from django.db import migrations, models

View File

@@ -1,3 +1,8 @@
"""
Experimentation models
"""
from __future__ import absolute_import
from django.conf import settings
from django.db import models
from model_utils.models import TimeStampedModel

View File

@@ -1,3 +1,8 @@
"""
Experimentation permissions
"""
from __future__ import absolute_import
from rest_framework.permissions import SAFE_METHODS, BasePermission
from openedx.core.lib.api import permissions

View File

@@ -1,3 +1,8 @@
"""
Experimentation routers
"""
from __future__ import absolute_import
from rest_framework import routers
from rest_framework.routers import DynamicDetailRoute, DynamicListRoute, Route

View File

@@ -1,3 +1,8 @@
"""
Experimentation serializers
"""
from __future__ import absolute_import
from django.contrib.auth import get_user_model
from rest_framework import serializers

View File

@@ -1,12 +1,20 @@
"""
Tests of experiment functionality
"""
from __future__ import absolute_import
from decimal import Decimal
from unittest import TestCase
from lms.djangoapps.experiments.utils import get_course_entitlement_price_and_sku, get_program_price_and_skus, \
get_unenrolled_courses, is_enrolled_in_course_run
from opaque_keys.edx.keys import CourseKey
from lms.djangoapps.experiments.utils import (
get_course_entitlement_price_and_sku,
get_program_price_and_skus,
get_unenrolled_courses,
is_enrolled_in_course_run
)
class ExperimentUtilsTests(TestCase):
"""

View File

@@ -1,10 +1,17 @@
import urllib
"""
Tests for experimentation views
"""
from __future__ import absolute_import
import unittest
import six.moves.urllib.error # pylint: disable=import-error
import six.moves.urllib.parse # pylint: disable=import-error
import six.moves.urllib.request # pylint: disable=import-error
from django.conf import settings
from django.core.handlers.wsgi import WSGIRequest
from django.urls import reverse
from django.test.utils import override_settings
from django.urls import reverse
from mock import patch
from rest_framework.test import APITestCase
@@ -13,7 +20,6 @@ from experiments.models import ExperimentData, ExperimentKeyValue
from experiments.serializers import ExperimentDataSerializer
from student.tests.factories import UserFactory
CROSS_DOMAIN_REFERER = 'https://ecommerce.edx.org'
@@ -63,18 +69,18 @@ class ExperimentDataViewSetTests(APITestCase):
ExperimentDataFactory(user=user)
data = ExperimentDataFactory.create_batch(3, user=user, experiment_id=experiment_id)
qs = urllib.urlencode({'experiment_id': experiment_id})
qs = six.moves.urllib.parse.urlencode({'experiment_id': experiment_id})
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data['results'], ExperimentDataSerializer(data, many=True).data)
datum = data[0]
qs = urllib.urlencode({'key': datum.key})
qs = six.moves.urllib.parse.urlencode({'key': datum.key})
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data['results'], ExperimentDataSerializer([datum], many=True).data)
qs = urllib.urlencode({'experiment_id': experiment_id, 'key': datum.key})
qs = six.moves.urllib.parse.urlencode({'experiment_id': experiment_id, 'key': datum.key})
response = self.client.get('{url}?{qs}'.format(url=url, qs=qs))
self.assertEqual(response.status_code, 200)
self.assertEqual(response.data['results'], ExperimentDataSerializer([datum], many=True).data)

View File

@@ -1,3 +1,8 @@
"""
Experimentation URLs
"""
from __future__ import absolute_import
from django.conf.urls import include, url
from experiments import routers, views

View File

@@ -2,25 +2,29 @@
Utilities to facilitate experimentation
"""
from __future__ import absolute_import
import hashlib
import re
import logging
import re
from decimal import Decimal
from student.models import CourseEnrollment
import six
from django.utils.timezone import now
from lms.djangoapps.commerce.utils import EcommerceService
from course_modes.models import get_cosmetic_verified_display_price, format_course_price
from opaque_keys import InvalidKeyError
from opaque_keys.edx.keys import CourseKey
from course_modes.models import format_course_price, get_cosmetic_verified_display_price
from courseware.access import has_staff_access_to_preview_mode
from courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid
from xmodule.partitions.partitions_service import get_user_partition_groups, get_all_partitions_for_course
from opaque_keys.edx.keys import CourseKey
from opaque_keys import InvalidKeyError
from lms.djangoapps.commerce.utils import EcommerceService
from openedx.core.djangoapps.catalog.utils import get_programs
from openedx.core.djangoapps.django_comment_common.models import Role
from openedx.core.djangoapps.waffle_utils import WaffleFlag, WaffleFlagNamespace
from openedx.features.course_duration_limits.access import get_user_course_expiration_date
from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
from student.models import CourseEnrollment
from xmodule.partitions.partitions_service import get_all_partitions_for_course, get_user_partition_groups
logger = logging.getLogger(__name__)
@@ -170,7 +174,7 @@ def get_program_price_and_skus(courses):
skus = None
else:
program_price = format_course_price(program_price)
program_price = unicode(program_price)
program_price = six.text_type(program_price)
return program_price, skus
@@ -420,7 +424,7 @@ def get_deprecated_experiment_user_metadata_context(course, user):
return {
'upgrade_link': upgrade_link,
'upgrade_price': unicode(get_cosmetic_verified_display_price(course)),
'upgrade_price': six.text_type(get_cosmetic_verified_display_price(course)),
'enrollment_mode': enrollment_mode,
'enrollment_time': enrollment_time,
'pacing_type': 'self_paced' if course.self_paced else 'instructor_paced',
@@ -459,7 +463,7 @@ def get_base_experiment_metadata_context(course, user, enrollment, user_enrollme
return {
'upgrade_link': upgrade_link,
'upgrade_price': unicode(get_cosmetic_verified_display_price(course)),
'upgrade_price': six.text_type(get_cosmetic_verified_display_price(course)),
'enrollment_mode': enrollment_mode,
'enrollment_time': enrollment_time,
'pacing_type': 'self_paced' if course.self_paced else 'instructor_paced',

View File

@@ -1,3 +1,8 @@
"""
Experimentation views
"""
from __future__ import absolute_import
from django.contrib.auth import get_user_model
from django.db import transaction
from django_filters.rest_framework import DjangoFilterBackend