Applied pylint-amnesty
This commit is contained in:
@@ -26,7 +26,7 @@ User = get_user_model()
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class CourseAccessRoleSerializer(serializers.ModelSerializer):
|
||||
class CourseAccessRoleSerializer(serializers.ModelSerializer): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
user = serializers.SlugRelatedField(slug_field='username', queryset=User.objects.all())
|
||||
|
||||
class Meta:
|
||||
@@ -34,21 +34,21 @@ class CourseAccessRoleSerializer(serializers.ModelSerializer):
|
||||
fields = ('user', 'role',)
|
||||
|
||||
|
||||
class CourseRunScheduleSerializer(serializers.Serializer):
|
||||
class CourseRunScheduleSerializer(serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method
|
||||
start = serializers.DateTimeField()
|
||||
end = serializers.DateTimeField()
|
||||
enrollment_start = serializers.DateTimeField(allow_null=True, required=False)
|
||||
enrollment_end = serializers.DateTimeField(allow_null=True, required=False)
|
||||
|
||||
|
||||
class CourseRunTeamSerializer(serializers.Serializer):
|
||||
class CourseRunTeamSerializer(serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method, missing-class-docstring
|
||||
def to_internal_value(self, data):
|
||||
"""Overriding this to support deserialization, for write operations."""
|
||||
for member in data:
|
||||
try:
|
||||
User.objects.get(username=member['user'])
|
||||
except User.DoesNotExist:
|
||||
raise serializers.ValidationError(
|
||||
raise serializers.ValidationError( # lint-amnesty, pylint: disable=raise-missing-from
|
||||
_('Course team user does not exist')
|
||||
)
|
||||
|
||||
@@ -64,10 +64,10 @@ class CourseRunTeamSerializer(serializers.Serializer):
|
||||
return instance
|
||||
|
||||
|
||||
class CourseRunTeamSerializerMixin(serializers.Serializer):
|
||||
class CourseRunTeamSerializerMixin(serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method, missing-class-docstring
|
||||
team = CourseRunTeamSerializer(required=False)
|
||||
|
||||
def update_team(self, instance, team):
|
||||
def update_team(self, instance, team): # lint-amnesty, pylint: disable=missing-function-docstring
|
||||
# Existing data should remain intact when performing a partial update.
|
||||
if not self.partial:
|
||||
CourseAccessRole.objects.filter(course_id=instance.id).delete()
|
||||
@@ -91,7 +91,7 @@ def image_is_jpeg_or_png(value):
|
||||
u'Only JPEG and PNG image types are supported. {} is not valid'.format(content_type))
|
||||
|
||||
|
||||
class CourseRunImageField(serializers.ImageField):
|
||||
class CourseRunImageField(serializers.ImageField): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
default_validators = [image_is_jpeg_or_png]
|
||||
|
||||
def get_attribute(self, instance):
|
||||
@@ -103,7 +103,7 @@ class CourseRunImageField(serializers.ImageField):
|
||||
return request.build_absolute_uri(value)
|
||||
|
||||
|
||||
class CourseRunPacingTypeField(serializers.ChoiceField):
|
||||
class CourseRunPacingTypeField(serializers.ChoiceField): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
def to_representation(self, value):
|
||||
return 'self_paced' if value else 'instructor_paced'
|
||||
|
||||
@@ -111,7 +111,7 @@ class CourseRunPacingTypeField(serializers.ChoiceField):
|
||||
return data == 'self_paced'
|
||||
|
||||
|
||||
class CourseRunImageSerializer(serializers.Serializer):
|
||||
class CourseRunImageSerializer(serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method, missing-class-docstring
|
||||
# We set an empty default to prevent the parent serializer from attempting
|
||||
# to save this value to the Course object.
|
||||
card_image = CourseRunImageField(source='course_image', default=empty)
|
||||
@@ -126,13 +126,13 @@ class CourseRunImageSerializer(serializers.Serializer):
|
||||
return instance
|
||||
|
||||
|
||||
class CourseRunSerializerCommonFieldsMixin(serializers.Serializer):
|
||||
class CourseRunSerializerCommonFieldsMixin(serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method
|
||||
schedule = CourseRunScheduleSerializer(source='*', required=False)
|
||||
pacing_type = CourseRunPacingTypeField(source='self_paced', required=False,
|
||||
choices=((False, 'instructor_paced'), (True, 'self_paced'),))
|
||||
|
||||
|
||||
class CourseRunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTeamSerializerMixin, serializers.Serializer):
|
||||
class CourseRunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTeamSerializerMixin, serializers.Serializer): # lint-amnesty, pylint: disable=abstract-method, missing-class-docstring
|
||||
id = serializers.CharField(read_only=True)
|
||||
title = serializers.CharField(source='display_name')
|
||||
images = CourseRunImageSerializer(source='*', required=False)
|
||||
@@ -150,7 +150,7 @@ class CourseRunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTeamSer
|
||||
return instance
|
||||
|
||||
|
||||
class CourseRunCreateSerializer(CourseRunSerializer):
|
||||
class CourseRunCreateSerializer(CourseRunSerializer): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
org = serializers.CharField(source='id.org')
|
||||
number = serializers.CharField(source='id.course')
|
||||
run = serializers.CharField(source='id.run')
|
||||
@@ -166,7 +166,7 @@ class CourseRunCreateSerializer(CourseRunSerializer):
|
||||
return instance
|
||||
|
||||
|
||||
class CourseRunRerunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTeamSerializerMixin,
|
||||
class CourseRunRerunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTeamSerializerMixin, # lint-amnesty, pylint: disable=abstract-method, missing-class-docstring
|
||||
serializers.Serializer):
|
||||
title = serializers.CharField(source='display_name', required=False)
|
||||
number = serializers.CharField(source='id.course', required=False)
|
||||
@@ -182,7 +182,7 @@ class CourseRunRerunSerializer(CourseRunSerializerCommonFieldsMixin, CourseRunTe
|
||||
with store.default_store('split'):
|
||||
new_course_run_key = store.make_course_key(course_run_key.org, number, run)
|
||||
except InvalidKeyError:
|
||||
raise serializers.ValidationError(
|
||||
raise serializers.ValidationError( # lint-amnesty, pylint: disable=raise-missing-from
|
||||
u'Invalid key supplied. Ensure there are no special characters in the Course Number.'
|
||||
)
|
||||
if store.has_course(new_course_run_key, ignore_case=True):
|
||||
|
||||
@@ -18,10 +18,10 @@ from ..utils import serialize_datetime
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class CourseRunSerializerTests(ModuleStoreTestCase):
|
||||
class CourseRunSerializerTests(ModuleStoreTestCase): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
|
||||
def setUp(self):
|
||||
super(CourseRunSerializerTests, self).setUp()
|
||||
super(CourseRunSerializerTests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
|
||||
self.course_start = datetime.datetime.now(pytz.UTC)
|
||||
self.course_end = self.course_start + datetime.timedelta(days=30)
|
||||
|
||||
@@ -8,7 +8,7 @@ import pytz
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import RequestFactory, override_settings
|
||||
from django.urls import reverse
|
||||
from mock import patch
|
||||
from mock import patch # lint-amnesty, pylint: disable=unused-import
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from organizations.api import add_organization, get_course_organizations
|
||||
from rest_framework.test import APIClient
|
||||
@@ -35,7 +35,7 @@ class CourseRunViewSetTests(ModuleStoreTestCase):
|
||||
list_url = reverse('api:v1:course_run-list')
|
||||
|
||||
def setUp(self):
|
||||
super(CourseRunViewSetTests, self).setUp()
|
||||
super(CourseRunViewSetTests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments
|
||||
self.client = APIClient()
|
||||
user = AdminFactory()
|
||||
self.client.login(username=user.username, password=TEST_PASSWORD)
|
||||
@@ -331,7 +331,7 @@ class CourseRunViewSetTests(ModuleStoreTestCase):
|
||||
original_course_run = ToyCourseFactory()
|
||||
add_organization({
|
||||
'name': 'Test Organization',
|
||||
'short_name': original_course_run.id.org,
|
||||
'short_name': original_course_run.id.org, # lint-amnesty, pylint: disable=no-member
|
||||
'description': 'Testing Organization Description',
|
||||
})
|
||||
start = datetime.datetime.now(pytz.UTC).replace(microsecond=0)
|
||||
@@ -339,7 +339,7 @@ class CourseRunViewSetTests(ModuleStoreTestCase):
|
||||
user = UserFactory()
|
||||
role = 'instructor'
|
||||
run = '3T2017'
|
||||
url = reverse('api:v1:course_run-rerun', kwargs={'pk': str(original_course_run.id)})
|
||||
url = reverse('api:v1:course_run-rerun', kwargs={'pk': str(original_course_run.id)}) # lint-amnesty, pylint: disable=no-member
|
||||
data = {
|
||||
'run': run,
|
||||
'schedule': {
|
||||
@@ -369,16 +369,16 @@ class CourseRunViewSetTests(ModuleStoreTestCase):
|
||||
|
||||
if number:
|
||||
assert course_run.id.course == number
|
||||
assert course_run.id.course != original_course_run.id.course
|
||||
assert course_run.id.course != original_course_run.id.course # lint-amnesty, pylint: disable=no-member
|
||||
else:
|
||||
assert course_run.id.course == original_course_run.id.course
|
||||
assert course_run.id.course == original_course_run.id.course # lint-amnesty, pylint: disable=no-member
|
||||
|
||||
self.assert_course_run_schedule(course_run, start, end)
|
||||
self.assert_access_role(course_run, user, role)
|
||||
self.assert_course_access_role_count(course_run, 1)
|
||||
course_orgs = get_course_organizations(course_run_key)
|
||||
self.assertEqual(len(course_orgs), 1)
|
||||
self.assertEqual(course_orgs[0]['short_name'], original_course_run.id.org)
|
||||
self.assertEqual(course_orgs[0]['short_name'], original_course_run.id.org) # lint-amnesty, pylint: disable=no-member
|
||||
|
||||
def test_rerun_duplicate_run(self):
|
||||
course_run = ToyCourseFactory()
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
# lint-amnesty, pylint: disable=missing-module-docstring
|
||||
def serialize_datetime(d):
|
||||
return d.strftime('%Y-%m-%dT%H:%M:%S.%fZ')
|
||||
|
||||
@@ -20,7 +20,7 @@ from ..serializers.course_runs import (
|
||||
)
|
||||
|
||||
|
||||
class CourseRunViewSet(viewsets.GenericViewSet):
|
||||
class CourseRunViewSet(viewsets.GenericViewSet): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
authentication_classes = (JwtAuthentication, SessionAuthentication,)
|
||||
lookup_value_regex = settings.COURSE_KEY_REGEX
|
||||
permission_classes = (permissions.IsAdminUser,)
|
||||
@@ -43,18 +43,18 @@ class CourseRunViewSet(viewsets.GenericViewSet):
|
||||
|
||||
raise Http404
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
def list(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=unused-argument
|
||||
course_runs, __ = _accessible_courses_iter(request)
|
||||
page = self.paginate_queryset(list(course_runs))
|
||||
serializer = self.get_serializer(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
def retrieve(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=unused-argument
|
||||
course_run = self.get_object()
|
||||
serializer = self.get_serializer(course_run)
|
||||
return Response(serializer.data)
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
def update(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=missing-function-docstring, unused-argument
|
||||
course_run = self.get_object()
|
||||
|
||||
partial = kwargs.pop('partial', False)
|
||||
@@ -67,7 +67,7 @@ class CourseRunViewSet(viewsets.GenericViewSet):
|
||||
kwargs['partial'] = True
|
||||
return self.update(request, *args, **kwargs)
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
def create(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=unused-argument
|
||||
serializer = CourseRunCreateSerializer(data=request.data, context=self.get_serializer_context())
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
@@ -78,7 +78,7 @@ class CourseRunViewSet(viewsets.GenericViewSet):
|
||||
methods=['post', 'put'],
|
||||
parser_classes=(parsers.FormParser, parsers.MultiPartParser,),
|
||||
serializer_class=CourseRunImageSerializer)
|
||||
def images(self, request, *args, **kwargs):
|
||||
def images(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=missing-function-docstring, unused-argument
|
||||
course_run = self.get_object()
|
||||
serializer = CourseRunImageSerializer(course_run, data=request.data, context=self.get_serializer_context())
|
||||
serializer.is_valid(raise_exception=True)
|
||||
@@ -86,7 +86,7 @@ class CourseRunViewSet(viewsets.GenericViewSet):
|
||||
return Response(serializer.data)
|
||||
|
||||
@action(detail=True, methods=['post'])
|
||||
def rerun(self, request, *args, **kwargs):
|
||||
def rerun(self, request, *args, **kwargs): # lint-amnesty, pylint: disable=missing-function-docstring, unused-argument
|
||||
course_run = self.get_object()
|
||||
serializer = CourseRunRerunSerializer(course_run, data=request.data, context=self.get_serializer_context())
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
Reference in New Issue
Block a user