TE-2689 Remove useless pylint suppressions part 5

This commit is contained in:
Jeremy Bowman
2018-08-21 10:25:28 -04:00
parent 56392c7f2c
commit d90afa4cde
45 changed files with 60 additions and 75 deletions

View File

@@ -134,7 +134,7 @@ def modify_url_to_track_clicks(url, campaign=None):
if campaign is None:
campaign = CampaignTrackingInfo()
modified_url = parsed_url._replace(query=campaign.to_query_string(parsed_url.query))
return modified_url.geturl() # pylint: disable=no-member
return modified_url.geturl()
def ensure_url_is_absolute(site, relative_path):

View File

@@ -1,4 +1,4 @@
# pylint: disable=missing-docstring,no-member
# pylint: disable=missing-docstring
import uuid
from django.http import HttpRequest

View File

@@ -1,4 +1,4 @@
# pylint: disable=missing-docstring,no-member
# pylint: disable=missing-docstring
from unittest import TestCase
from django.test import override_settings

View File

@@ -28,11 +28,11 @@ class ApiAccessRequestTests(TestCase):
self.assertFalse(ApiAccessRequest.has_api_access(self.user))
def test_approve(self):
self.request.approve() # pylint: disable=no-member
self.request.approve()
self.assertEqual(self.request.status, ApiAccessRequest.APPROVED)
def test_deny(self):
self.request.deny() # pylint: disable=no-member
self.request.deny()
self.assertEqual(self.request.status, ApiAccessRequest.DENIED)
def test_nonexistent_request(self):
@@ -48,7 +48,7 @@ class ApiAccessRequestTests(TestCase):
@ddt.unpack
def test_has_access(self, status, should_have_access):
self.request.status = status
self.request.save() # pylint: disable=no-member
self.request.save()
self.assertEqual(ApiAccessRequest.has_api_access(self.user), should_have_access)
def test_unique_per_user(self):
@@ -56,12 +56,12 @@ class ApiAccessRequestTests(TestCase):
ApiAccessRequestFactory(user=self.user)
def test_no_access(self):
self.request.delete() # pylint: disable=no-member
self.request.delete()
self.assertIsNone(ApiAccessRequest.api_access_status(self.user))
def test_unicode(self):
request_unicode = unicode(self.request)
self.assertIn(self.request.website, request_unicode) # pylint: disable=no-member
self.assertIn(self.request.website, request_unicode)
self.assertIn(self.request.status, request_unicode)
def test_retire_user_success(self):

View File

@@ -149,9 +149,9 @@ class ApiRequestStatusViewTest(ApiAdminTest):
response = self.client.get(self.url)
self.assertEqual(response.status_code, 200)
unicode_content = response.content.decode('utf-8')
self.assertIn(application.client_secret, unicode_content) # pylint: disable=no-member
self.assertIn(application.client_id, unicode_content) # pylint: disable=no-member
self.assertIn(application.redirect_uris, unicode_content) # pylint: disable=no-member
self.assertIn(application.client_secret, unicode_content)
self.assertIn(application.client_id, unicode_content)
self.assertIn(application.redirect_uris, unicode_content)
def test_get_anonymous(self):
"""Verify that users must be logged in to see the page."""

View File

@@ -3,8 +3,6 @@ Mixins to facilitate testing OAuth connections to Django-OAuth-Toolkit or
Django-OAuth2-Provider.
"""
# pylint: disable=protected-access
from unittest import skip, expectedFailure
from django.test.client import RequestFactory

View File

@@ -19,7 +19,7 @@ class AccessTokenExchangeTestMixin(ThirdPartyOAuthTestMixin):
* _assert_error(data, expected_error, expected_error_description)
* _assert_success(data, expected_scopes)
"""
def setUp(self): # pylint: disable=arguments-differ
def setUp(self):
super(AccessTokenExchangeTestMixin, self).setUp()
# Initialize to minimal data
@@ -82,7 +82,7 @@ class AccessTokenExchangeTestMixin(ThirdPartyOAuthTestMixin):
def test_inactive_user(self):
self.user.is_active = False
self.user.save() # pylint: disable=no-member
self.user.save()
self._setup_provider_response(success=True)
self._assert_success(self.data, expected_scopes=[])
@@ -107,5 +107,5 @@ class AccessTokenExchangeTestMixin(ThirdPartyOAuthTestMixin):
Partial.objects.all().delete()
self._setup_provider_response(success=True, email=self.user.email)
self.user.is_active = False
self.user.save() # pylint: disable=no-member
self.user.save()
self._assert_error(self.data, "invalid_grant", "access_token is not valid")

View File

@@ -43,19 +43,19 @@ class AccessTokenExchangeBase(APIView):
def dispatch(self, *args, **kwargs):
return super(AccessTokenExchangeBase, self).dispatch(*args, **kwargs)
def get(self, request, _backend): # pylint: disable=arguments-differ
def get(self, request, _backend):
"""
Pass through GET requests without the _backend
"""
return super(AccessTokenExchangeBase, self).get(request)
def post(self, request, _backend): # pylint: disable=arguments-differ
def post(self, request, _backend):
"""
Handle POST requests to get a first-party access token.
"""
form = AccessTokenExchangeForm(request=request, oauth2_adapter=self.oauth2_adapter, data=request.POST) # pylint: disable=no-member
form = AccessTokenExchangeForm(request=request, oauth2_adapter=self.oauth2_adapter, data=request.POST)
if not form.is_valid():
return self.error_response(form.errors) # pylint: disable=no-member
return self.error_response(form.errors)
user = form.cleaned_data["user"]
scope = form.cleaned_data["scope"]
@@ -69,10 +69,10 @@ class AccessTokenExchangeBase(APIView):
serialized access token response.
"""
if constants.SINGLE_ACCESS_TOKEN:
edx_access_token = self.get_access_token(request, user, scope, client) # pylint: disable=no-member
edx_access_token = self.get_access_token(request, user, scope, client)
else:
edx_access_token = self.create_access_token(request, user, scope, client)
return self.access_token_response(edx_access_token) # pylint: disable=no-member
return self.access_token_response(edx_access_token)
class DOPAccessTokenExchangeView(AccessTokenExchangeBase, DOPAccessTokenView):

View File

@@ -100,7 +100,7 @@ class Bookmark(TimeStampedModel):
"""
Return the resource id: {username,usage_id}.
"""
return u"{0},{1}".format(self.user.username, self.usage_key) # pylint: disable=no-member
return u"{0},{1}".format(self.user.username, self.usage_key)
@property
def display_name(self):
@@ -174,7 +174,7 @@ class Bookmark(TimeStampedModel):
path_data = []
for ancestor_usage_key in path:
if ancestor_usage_key != usage_key and ancestor_usage_key.block_type != 'course': # pylint: disable=no-member
if ancestor_usage_key != usage_key and ancestor_usage_key.block_type != 'course':
try:
block = modulestore().get_item(ancestor_usage_key)
except ItemNotFoundError:

View File

@@ -9,7 +9,7 @@ from xmodule.modulestore.django import SignalHandler
@receiver(SignalHandler.course_published)
def trigger_update_xblocks_cache_task(sender, course_key, **kwargs): # pylint: disable=invalid-name,unused-argument
def trigger_update_xblocks_cache_task(sender, course_key, **kwargs): # pylint: disable=unused-argument
"""
Trigger update_xblocks_cache() when course_published signal is fired.
"""

View File

@@ -3,7 +3,7 @@ Tasks for bookmarks.
"""
import logging
from celery.task import task # pylint: disable=import-error,no-name-in-module
from celery.task import task
from django.db import transaction
from opaque_keys.edx.keys import CourseKey

View File

@@ -32,7 +32,7 @@ class BookmarkApiEventTestMixin(object):
"""
Assert no events were emitted.
"""
self.assertFalse(mock_tracker.called) # pylint: disable=maybe-no-member
self.assertFalse(mock_tracker.called)
@ddt.ddt
@@ -110,7 +110,7 @@ class BookmarksAPITests(BookmarkApiEventTestMixin, BookmarksTestsBase):
with self.assertNumQueries(1):
bookmarks = api.get_bookmarks(user=self.user, course_key=course.id, serialized=False)
self.assertEqual(len(bookmarks), count)
self.assertIs(bookmarks.model, Bookmark) # pylint: disable=no-member
self.assertIs(bookmarks.model, Bookmark)
@patch('openedx.core.djangoapps.bookmarks.api.tracker.emit')
def test_create_bookmark(self, mock_tracker):

View File

@@ -131,7 +131,7 @@ class BookmarksTestsBase(ModuleStoreTestCase):
# self.other_vertical_1 has two parents
self.other_sequential_2.children.append(self.other_vertical_1.location)
modulestore().update_item(self.other_sequential_2, self.admin.id) # pylint: disable=no-member
modulestore().update_item(self.other_sequential_2, self.admin.id)
self.other_bookmark_1 = BookmarkFactory.create(
user=self.user,
@@ -393,7 +393,7 @@ class BookmarkModelTests(BookmarksTestsBase):
# Block is an orphan
self.other_sequential_1.children = []
modulestore().update_item(self.other_sequential_1, self.admin.id) # pylint: disable=no-member
modulestore().update_item(self.other_sequential_1, self.admin.id)
bookmark_data = self.get_bookmark_data(self.other_vertical_2, user=user)
bookmark, __ = Bookmark.create(bookmark_data)

View File

@@ -62,7 +62,7 @@ class XBlockCacheTaskTests(BookmarksTestsBase):
],
}
self.other_course_expected_cache_data = { # pylint: disable=invalid-name
self.other_course_expected_cache_data = {
self.other_course.location: [
[],
], self.other_chapter_1.location: [

View File

@@ -174,7 +174,7 @@ class BookmarksListViewTests(BookmarksViewsTestsBase):
bookmarks_data = response.data['results']
self.assertEqual(len(bookmarks_data), 0)
self.assertFalse(mock_tracker.emit.called) # pylint: disable=maybe-no-member
self.assertFalse(mock_tracker.emit.called)
@patch('eventtracking.tracker.emit')
def test_get_all_bookmarks_when_course_id_not_given(self, mock_tracker):

View File

@@ -87,7 +87,7 @@ class BookmarksViewMixin(object):
return Response(
{
"developer_message": developer_message,
"user_message": _(user_message) # pylint: disable=translation-of-non-string
"user_message": _(user_message)
},
status=error_status
)
@@ -318,7 +318,7 @@ class BookmarksDetailView(APIView, BookmarksViewMixin):
log.error(error_message)
return self.error_response(error_message, error_status=status.HTTP_404_NOT_FOUND)
def get(self, request, username=None, usage_id=None): # pylint: disable=unused-argument
def get(self, request, username=None, usage_id=None):
"""
GET /api/bookmarks/v1/bookmarks/{username},{usage_id}?fields=display_name,path
"""

View File

@@ -63,7 +63,7 @@ def get_instance(model, instance_or_pk, timeout=None, using=None):
instance = model._default_manager.using(using).get(pk=primary_key) # pylint: disable=protected-access
data = {}
for field in instance._meta.fields: # pylint: disable=protected-access
for field in instance._meta.fields:
# Harmless to save, but saves space in the dictionary - we already know
# the primary key when we lookup
if field.primary_key:
@@ -96,7 +96,6 @@ def instance_key(model, instance_or_pk):
"""
Returns the cache key for this (model, instance) pair.
"""
# pylint: disable=protected-access
return '%s.%s:%d' % (
model._meta.app_label,
model._meta.model_name,

View File

@@ -104,7 +104,7 @@ class CacheBackedAuthenticationMiddleware(AuthenticationMiddleware):
try:
# Try and construct a User instance from data stored in the cache
session_user_id = SafeSessionMiddleware.get_user_id_from_session(request)
request.user = User.get_cached(session_user_id) # pylint: disable=no-member
request.user = User.get_cached(session_user_id)
if request.user.id != session_user_id:
log.error(
"CacheBackedAuthenticationMiddleware cached user '%s' does not match requested user '%s'.",

View File

@@ -2,8 +2,8 @@
This file contains celery tasks for ccxcon
"""
from celery.task import task # pylint: disable=no-name-in-module, import-error
from celery.utils.log import get_task_logger # pylint: disable=no-name-in-module, import-error
from celery.task import task
from celery.utils.log import get_task_logger
from opaque_keys.edx.keys import CourseKey
from requests.exceptions import ConnectionError, HTTPError, RequestException, TooManyRedirects

View File

@@ -42,7 +42,7 @@ def _directory_name(data_usage_key):
)
def _path_name(bs_model, filename): # pylint:disable=unused-argument
def _path_name(bs_model, _filename):
"""
Returns path name to use for the given
BlockStructureModel instance.

View File

@@ -111,7 +111,7 @@ def _call_and_retry_if_needed(self, api_method, **kwargs):
except RETRY_TASKS as exc:
log.exception("%s encountered expected error, retrying.", self.__name__)
raise self.retry(kwargs=kwargs, exc=exc)
except Exception as exc: # pylint: disable=broad-except
except Exception as exc:
log.exception(
"BlockStructure: %s encountered unknown error in course %s, task_id %s. Retry #%d",
self.__name__,

View File

@@ -14,4 +14,4 @@ class CourseOverviewsConfig(AppConfig):
def ready(self):
# Import signals to activate signal handler which invalidates
# the CourseOverview cache every time a course is published.
from . import signals # pylint: disable=unused-import
from . import signals # pylint: disable=unused-variable

View File

@@ -247,7 +247,7 @@ class CourseOverview(TimeStampedModel):
# to save a duplicate.
# (see: https://openedx.atlassian.net/browse/TNL-2854).
pass
except Exception: # pylint: disable=broad-except
except Exception:
log.exception(
"CourseOverview for course %s failed!",
course_id,

View File

@@ -145,7 +145,7 @@ class ContentStoreToyCourseTest(SharedModuleStoreTestCase):
self.client.logout()
resp = self.client.get(url_unlocked_versioned_old)
self.assertEqual(resp.status_code, 301)
self.assertTrue(resp.url.endswith(self.url_unlocked_versioned)) # pylint: disable=no-member
self.assertTrue(resp.url.endswith(self.url_unlocked_versioned))
def test_locked_versioned_asset(self):
"""

View File

@@ -3,7 +3,7 @@ Provides a UserPartition driver for cohorts.
"""
import logging
from courseware.masquerade import ( # pylint: disable=import-error
from courseware.masquerade import (
get_course_masquerade,
get_masquerading_user_group,
is_masquerading_as_specific_student
@@ -23,7 +23,6 @@ class CohortPartitionScheme(object):
Groups.
"""
# pylint: disable=unused-argument
@classmethod
def get_group_for_user(cls, course_key, user, user_partition, use_cached=True):
"""

View File

@@ -59,7 +59,6 @@ class CourseCohortSettingsFactory(DjangoModelFactory):
is_cohorted = False
course_id = CourseLocator("dummy", "dummy", "dummy")
cohorted_discussions = json.dumps([])
# pylint: disable=invalid-name
always_cohort_inline_discussions = False

View File

@@ -346,7 +346,7 @@ class TestMasqueradedGroup(StaffMasqueradeTestCase):
"""
Verify that the masquerade works for the specified group id.
"""
self.ensure_masquerade_as_group_member( # pylint: disable=no-member
self.ensure_masquerade_as_group_member(
self.user_partition.id,
group.id if group is not None else None
)
@@ -383,7 +383,7 @@ class TestMasqueradedGroup(StaffMasqueradeTestCase):
group.
"""
self.course.cohort_config = {'cohorted': True}
modulestore().update_item(self.course, self.test_user.id) # pylint: disable=no-member
modulestore().update_item(self.course, self.test_user.id)
cohort = CohortFactory.create(course_id=self.course.id, users=[self.test_user])
CourseUserGroupPartitionGroup(
course_user_group=cohort,

View File

@@ -13,4 +13,4 @@ class CoursegraphConfig(AppConfig):
"""
name = 'openedx.core.djangoapps.coursegraph'
from . import tasks # pylint: disable=unused-variable
from . import tasks

View File

@@ -50,7 +50,7 @@ class Command(BaseCommand):
help='dump all--or all specified--courses, ignoring cache',
)
def handle(self, *args, **options): # pylint: disable=unused-argument
def handle(self, *args, **options):
"""
Iterates through each course, serializes them into graphs, and saves
those graphs to neo4j.

View File

@@ -277,7 +277,6 @@ def set_credit_requirement_status(user, course_key, req_namespace, req_name, sta
log.exception("Error sending email")
# pylint: disable=invalid-name
def remove_credit_requirement_status(username, course_key, req_namespace, req_name):
"""
Remove the user's requirement status.

View File

@@ -526,7 +526,7 @@ class CreditRequirementStatus(TimeStampedModel):
return requirement_statuses > 0
def default_deadline_for_credit_eligibility(): # pylint: disable=invalid-name
def default_deadline_for_credit_eligibility():
""" The default deadline to use when creating a new CreditEligibility model. """
return datetime.datetime.now(pytz.UTC) + datetime.timedelta(
days=getattr(settings, "CREDIT_ELIGIBILITY_EXPIRATION_DAYS", 365)

View File

@@ -17,9 +17,8 @@ from xmodule.modulestore.exceptions import ItemNotFoundError
LOGGER = get_task_logger(__name__)
# pylint: disable=not-callable
@task(default_retry_delay=settings.CREDIT_TASK_DEFAULT_RETRY_DELAY, max_retries=settings.CREDIT_TASK_MAX_RETRIES)
def update_credit_course_requirements(course_id): # pylint: disable=invalid-name
def update_credit_course_requirements(course_id):
"""
Updates course requirements table for a course.

View File

@@ -1,7 +1,7 @@
# pylint:disable=missing-docstring,no-member
# pylint:disable=missing-docstring
import datetime
import json
import uuid # pylint:disable=unused-import
import uuid
from django.contrib.auth.models import User
import factory
@@ -76,7 +76,6 @@ class CreditRequestFactory(factory.DjangoModelFactory):
user = User.objects.get(username=obj.username)
user_profile = user.profile
# pylint:disable=access-member-before-definition
obj.parameters = json.dumps({
"request_uuid": obj.uuid,
"timestamp": to_timestamp(datetime.datetime.now(pytz.UTC)),

View File

@@ -1,6 +1,5 @@
""" Tests for Credit API serializers. """
# pylint: disable=no-member
from __future__ import unicode_literals
from django.test import TestCase

View File

@@ -2,8 +2,6 @@
Tests for credit app views.
"""
# pylint: disable=no-member
from __future__ import unicode_literals
import datetime
@@ -141,7 +139,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
# Staff users should have access to the API
user.is_staff = True
user.save() # pylint: disable=no-member
user.save()
response = self.client.get(self.path)
self.assertEqual(response.status_code, 200)
@@ -163,7 +161,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
# Retrieve a CSRF token
response = client.get('/')
csrf_token = response.cookies[settings.CSRF_COOKIE_NAME].value # pylint: disable=no-member
csrf_token = response.cookies[settings.CSRF_COOKIE_NAME].value
self.assertGreater(len(csrf_token), 0)
# Ensure POSTs made with the token succeed.
@@ -185,7 +183,7 @@ class CreditCourseViewSetTests(AuthMixin, UserMixin, TestCase):
# Staff users should have access to the API
user.is_staff = True
user.save() # pylint: disable=no-member
user.save()
response = self.client.get(self.path, **headers)
self.assertEqual(response.status_code, 200)

View File

@@ -66,7 +66,6 @@ class EmbargoedCourse(models.Model):
not_em = "Not "
if self.embargoed:
not_em = ""
# pylint: disable=no-member
return u"Course '{}' is {}Embargoed".format(text_type(self.course_id), not_em)

View File

@@ -321,7 +321,7 @@ class OpenIdProviderTest(TestCase):
self.assertEquals(parsed_qs['openid.ax.type.ext1'][0], 'http://axschema.org/contact/email')
self.assertEquals(parsed_qs['openid.ax.type.ext0'][0], 'http://axschema.org/namePerson')
self.assertEquals(parsed_qs['openid.ax.value.ext0.1'][0],
user.profile.name.encode('utf-8')) # pylint: disable=no-member
user.profile.name.encode('utf-8'))
self.assertEquals(parsed_qs['openid.ax.value.ext1.1'][0],
user.email.encode('utf-8')) # pylint: disable=no-member
@@ -363,7 +363,7 @@ class OpenIdProviderTest(TestCase):
# We trigger situation where user is not active at final phase of
# OpenId login.
user.is_active = False
user.save() # pylint: disable=no-member
user.save()
post_args = {
'email': user.email,
'password': 'test'

View File

@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
#pylint: disable=no-member
"""
Tests for Shibboleth Authentication
@jbau

View File

@@ -1,4 +1,3 @@
# pylint: disable=no-member
"""
Tests for CountryMiddleware.
"""

View File

@@ -8,7 +8,7 @@ from .runchecks import runchecks
@dog_stats_api.timed('edxapp.heartbeat')
def heartbeat(request): # pylint: disable=unused-argument
def heartbeat(request):
"""
Simple view that a loadbalancer can check to verify that the app is up. Returns a json doc
of service id: status or message. If the status for any service is anything other than True,

View File

@@ -71,7 +71,7 @@ def all_languages():
alphabetically.
"""
languages = [(lang[0], _(lang[1])) for lang in settings.ALL_LANGUAGES] # pylint: disable=translation-of-non-string
languages = [(lang[0], _(lang[1])) for lang in settings.ALL_LANGUAGES]
return sorted(languages, key=lambda lang: lang[1])

View File

@@ -36,7 +36,7 @@ class TestUserPreferenceMiddleware(TestCase):
self.anonymous_user = AnonymousUserFactory()
self.request = RequestFactory().get('/somewhere')
self.request.user = self.user
self.request.META['HTTP_ACCEPT_LANGUAGE'] = 'ar;q=1.0' # pylint: disable=no-member
self.request.META['HTTP_ACCEPT_LANGUAGE'] = 'ar;q=1.0'
self.session_middleware.process_request(self.request)
def test_logout_shouldnt_remove_cookie(self):

View File

@@ -26,7 +26,7 @@ class TestLangPrefView(TestCase):
def test_language_session_update(self):
# test language session updating correctly.
self.request.session[LANGUAGE_SESSION_KEY] = 'ar' # pylint: disable=no-member
self.request.session[LANGUAGE_SESSION_KEY] = 'ar'
response = self.client.patch(reverse("session_language"), json.dumps({'pref-lang': 'eo'}))
self.assertEqual(response.status_code, 200)
self.client.get('/')

View File

@@ -33,7 +33,6 @@ class _DispatchingView(View):
behavior routes based on client_id, but this can be overridden by redefining
`select_backend()` if particular views need different behavior.
"""
# pylint: disable=no-member
dot_adapter = adapters.DOTAdapter()
dop_adapter = adapters.DOPAdapter()

View File

@@ -2,6 +2,6 @@
set -e
export LOWER_PYLINT_THRESHOLD=1000
export UPPER_PYLINT_THRESHOLD=2900
export UPPER_PYLINT_THRESHOLD=2840
export ESLINT_THRESHOLD=5590
export STYLELINT_THRESHOLD=973