From b1ecfc2252dcb7c6ca4023403e223223a41e1ccc Mon Sep 17 00:00:00 2001 From: Jawayria Date: Tue, 2 Feb 2021 14:59:19 +0500 Subject: [PATCH] Applied pylint-amnesty to util --- common/djangoapps/util/cache.py | 6 +- common/djangoapps/util/date_utils.py | 10 +-- common/djangoapps/util/db.py | 12 ++-- common/djangoapps/util/file.py | 2 +- common/djangoapps/util/json_request.py | 12 ++-- .../djangoapps/util/keyword_substitution.py | 4 +- common/djangoapps/util/milestones_helpers.py | 2 +- common/djangoapps/util/models.py | 2 +- .../util/password_policy_validators.py | 34 ++++----- .../djangoapps/util/request_rate_limiter.py | 2 +- common/djangoapps/util/string_utils.py | 2 +- common/djangoapps/util/testing.py | 4 +- .../djangoapps/util/tests/mixins/discovery.py | 2 +- common/djangoapps/util/tests/test_course.py | 2 +- .../djangoapps/util/tests/test_date_utils.py | 2 +- common/djangoapps/util/tests/test_db.py | 4 +- .../util/tests/test_disable_rate_limit.py | 2 +- common/djangoapps/util/tests/test_file.py | 16 ++--- .../util/tests/test_keyword_sub_utils.py | 2 +- common/djangoapps/util/tests/test_memcache.py | 2 +- .../util/tests/test_milestones_helpers.py | 2 +- .../tests/test_password_policy_validators.py | 70 +++++++++---------- .../djangoapps/util/tests/test_sandboxing.py | 2 +- common/djangoapps/util/validate_on_save.py | 2 +- common/djangoapps/util/views.py | 14 ++-- 25 files changed, 107 insertions(+), 107 deletions(-) diff --git a/common/djangoapps/util/cache.py b/common/djangoapps/util/cache.py index 083638dca4..5f697c2c23 100644 --- a/common/djangoapps/util/cache.py +++ b/common/djangoapps/util/cache.py @@ -10,7 +10,7 @@ not migrating so as not to inconvenience users by logging them all out. from functools import wraps import six -from django.conf import settings +from django.conf import settings # lint-amnesty, pylint: disable=unused-import from django.core import cache # If we can't find a 'general' CACHE defined in settings.py, we simply fall back # to returning the default cache. This will happen with dev machines. @@ -18,7 +18,7 @@ from django.utils.translation import get_language try: cache = cache.caches['general'] # pylint: disable=invalid-name -except Exception: +except Exception: # lint-amnesty, pylint: disable=broad-except cache = cache.cache @@ -76,7 +76,7 @@ def cache_if_anonymous(*get_parameters): if response: # A hack to ensure that the response data is a valid text type for both Python 2 and 3. - response_content = list(response._container) # pylint: disable=protected-member + response_content = list(response._container) # lint-amnesty, pylint: disable=bad-option-value, protected-access, protected-member response.content = b'' for item in response_content: response.write(item) diff --git a/common/djangoapps/util/date_utils.py b/common/djangoapps/util/date_utils.py index 270b3d38be..17250541da 100644 --- a/common/djangoapps/util/date_utils.py +++ b/common/djangoapps/util/date_utils.py @@ -29,7 +29,7 @@ def get_default_time_display(dtime): return u"" if dtime.tzinfo is not None: try: - timezone = u" " + dtime.tzinfo.tzname(dtime) + timezone = u" " + dtime.tzinfo.tzname(dtime) # lint-amnesty, pylint: disable=redefined-outer-name except NotImplementedError: timezone = dtime.strftime('%z') else: @@ -137,7 +137,7 @@ def strftime_localized(dtime, format): # pylint: disable=redefined-builtin if format == "SHORT_DATE": format = "%x" - elif format == "LONG_DATE": + elif format == "LONG_DATE": # lint-amnesty, pylint: disable=comparison-with-callable # Translators: the translation for "LONG_DATE_FORMAT" must be a format # string for formatting dates in a long form. For example, the # American English form is "%A, %B %d %Y". @@ -145,7 +145,7 @@ def strftime_localized(dtime, format): # pylint: disable=redefined-builtin format = ugettext("LONG_DATE_FORMAT") if format == "LONG_DATE_FORMAT": format = DEFAULT_LONG_DATE_FORMAT - elif format == "DATE_TIME": + elif format == "DATE_TIME": # lint-amnesty, pylint: disable=comparison-with-callable # Translators: the translation for "DATE_TIME_FORMAT" must be a format # string for formatting dates with times. For example, the American # English form is "%b %d, %Y at %H:%M". @@ -153,9 +153,9 @@ def strftime_localized(dtime, format): # pylint: disable=redefined-builtin format = ugettext("DATE_TIME_FORMAT") if format == "DATE_TIME_FORMAT": format = DEFAULT_DATE_TIME_FORMAT - elif format == "DAY_AND_TIME": + elif format == "DAY_AND_TIME": # lint-amnesty, pylint: disable=comparison-with-callable format = DEFAULT_DAY_AND_TIME_FORMAT - elif format == "TIME": + elif format == "TIME": # lint-amnesty, pylint: disable=comparison-with-callable format = "%X" def process_percent_code(match): diff --git a/common/djangoapps/util/db.py b/common/djangoapps/util/db.py index f6be5c9227..e816637f67 100644 --- a/common/djangoapps/util/db.py +++ b/common/djangoapps/util/db.py @@ -5,11 +5,11 @@ Utility functions related to databases. import random # TransactionManagementError used below actually *does* derive from the standard "Exception" class. -# pylint: disable=nonstandard-exception + # lint-amnesty, pylint: disable=bad-option-value, nonstandard-exception from contextlib import contextmanager -from functools import wraps +from functools import wraps # lint-amnesty, pylint: disable=unused-import -from django.db import DEFAULT_DB_ALIAS, DatabaseError, Error, transaction +from django.db import DEFAULT_DB_ALIAS, DatabaseError, Error, transaction # lint-amnesty, pylint: disable=unused-import from openedx.core.lib.cache_utils import get_cache @@ -55,7 +55,7 @@ class OuterAtomic(transaction.Atomic): def __init__(self, using, savepoint, read_committed=False, name=None): self.read_committed = read_committed self.name = name - super(OuterAtomic, self).__init__(using, savepoint) + super(OuterAtomic, self).__init__(using, savepoint) # lint-amnesty, pylint: disable=super-with-arguments def __enter__(self): @@ -75,7 +75,7 @@ class OuterAtomic(transaction.Atomic): # The inner atomic starts a savepoint around the test. # So, for tests only, there should be exactly one savepoint_id and two atomic_for_testcase_calls. # atomic_for_testcase_calls below is added in a monkey-patch for tests only. - if self.ALLOW_NESTED and (self.atomic_for_testcase_calls - len(connection.savepoint_ids)) < 1: + if self.ALLOW_NESTED and (self.atomic_for_testcase_calls - len(connection.savepoint_ids)) < 1: # lint-amnesty, pylint: disable=no-member raise transaction.TransactionManagementError('Cannot be inside an atomic block.') # Otherwise, this shouldn't be nested in any atomic block. @@ -88,7 +88,7 @@ class OuterAtomic(transaction.Atomic): cursor = connection.cursor() cursor.execute("SET TRANSACTION ISOLATION LEVEL READ COMMITTED") - super(OuterAtomic, self).__enter__() + super(OuterAtomic, self).__enter__() # lint-amnesty, pylint: disable=super-with-arguments def outer_atomic(using=None, savepoint=True, read_committed=False, name=None): diff --git a/common/djangoapps/util/file.py b/common/djangoapps/util/file.py index 5ee3f958df..2533e5de74 100644 --- a/common/djangoapps/util/file.py +++ b/common/djangoapps/util/file.py @@ -18,7 +18,7 @@ class FileValidationException(Exception): """ An exception thrown during file validation. """ - pass + pass # lint-amnesty, pylint: disable=unnecessary-pass def store_uploaded_file( diff --git a/common/djangoapps/util/json_request.py b/common/djangoapps/util/json_request.py index 064a6a563c..c2208ee0d2 100644 --- a/common/djangoapps/util/json_request.py +++ b/common/djangoapps/util/json_request.py @@ -1,4 +1,4 @@ - + # lint-amnesty, pylint: disable=missing-module-docstring import decimal import json @@ -31,7 +31,7 @@ class EDXJSONEncoder(DjangoJSONEncoder): return int(o) return float(o) else: - return super(EDXJSONEncoder, self).default(o) + return super(EDXJSONEncoder, self).default(o) # lint-amnesty, pylint: disable=super-with-arguments def expect_json(view_function): @@ -61,7 +61,7 @@ class JsonResponse(HttpResponse): """ Django HttpResponse subclass that has sensible defaults for outputting JSON. """ - def __init__(self, resp_obj=None, status=None, encoder=EDXJSONEncoder, + def __init__(self, resp_obj=None, status=None, encoder=EDXJSONEncoder, # lint-amnesty, pylint: disable=keyword-arg-before-vararg *args, **kwargs): if resp_obj in (None, ""): content = "" @@ -73,7 +73,7 @@ class JsonResponse(HttpResponse): kwargs.setdefault("content_type", "application/json") if status: kwargs["status"] = status - super(JsonResponse, self).__init__(content, *args, **kwargs) + super(JsonResponse, self).__init__(content, *args, **kwargs) # lint-amnesty, pylint: disable=super-with-arguments class JsonResponseBadRequest(HttpResponseBadRequest): @@ -86,11 +86,11 @@ class JsonResponseBadRequest(HttpResponseBadRequest): status: 400 encoder: DjangoJSONEncoder """ - def __init__(self, obj=None, status=400, encoder=DjangoJSONEncoder, *args, **kwargs): + def __init__(self, obj=None, status=400, encoder=DjangoJSONEncoder, *args, **kwargs): # lint-amnesty, pylint: disable=keyword-arg-before-vararg if obj in (None, ""): content = "" else: content = json.dumps(obj, cls=encoder, indent=2, ensure_ascii=False) kwargs.setdefault("content_type", "application/json") kwargs["status"] = status - super(JsonResponseBadRequest, self).__init__(content, *args, **kwargs) + super(JsonResponseBadRequest, self).__init__(content, *args, **kwargs) # lint-amnesty, pylint: disable=super-with-arguments diff --git a/common/djangoapps/util/keyword_substitution.py b/common/djangoapps/util/keyword_substitution.py index ea60a5def5..7422027a58 100644 --- a/common/djangoapps/util/keyword_substitution.py +++ b/common/djangoapps/util/keyword_substitution.py @@ -19,7 +19,7 @@ Usage: """ -from django.contrib.auth.models import User +from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user from common.djangoapps.student.models import anonymous_id_for_user @@ -50,7 +50,7 @@ def substitute_keywords(string, user_id, context): '%%COURSE_END_DATE%%': lambda: context.get('course_end_date'), } - for key in KEYWORD_FUNCTION_MAP.keys(): + for key in KEYWORD_FUNCTION_MAP.keys(): # lint-amnesty, pylint: disable=consider-iterating-dictionary if key in string: substitutor = KEYWORD_FUNCTION_MAP[key] string = string.replace(key, substitutor()) diff --git a/common/djangoapps/util/milestones_helpers.py b/common/djangoapps/util/milestones_helpers.py index de32ab1964..425295257c 100644 --- a/common/djangoapps/util/milestones_helpers.py +++ b/common/djangoapps/util/milestones_helpers.py @@ -238,7 +238,7 @@ def get_required_content(course_key, user): # For each outstanding milestone, see if this content is one of its fulfillment paths for path_key in milestone_paths: milestone_path = milestone_paths[path_key] - if milestone_path.get('content') and len(milestone_path['content']): + if milestone_path.get('content') and len(milestone_path['content']): # lint-amnesty, pylint: disable=len-as-condition for content in milestone_path['content']: required_content.append(content) else: diff --git a/common/djangoapps/util/models.py b/common/djangoapps/util/models.py index 40eff72c6b..bbf07819f9 100644 --- a/common/djangoapps/util/models.py +++ b/common/djangoapps/util/models.py @@ -41,7 +41,7 @@ def decompress_string(value): zfile = gzip.GzipFile(fileobj=zbuf) ret = zfile.read() zfile.close() - except Exception as e: + except Exception as e: # lint-amnesty, pylint: disable=broad-except logger.error('String decompression failed. There may be corrupted data in the database: %s', e) ret = value return ret diff --git a/common/djangoapps/util/password_policy_validators.py b/common/djangoapps/util/password_policy_validators.py index 5d87292a5e..66e0f34aa3 100644 --- a/common/djangoapps/util/password_policy_validators.py +++ b/common/djangoapps/util/password_policy_validators.py @@ -23,7 +23,7 @@ log = logging.getLogger(__name__) DEFAULT_MAX_PASSWORD_LENGTH = 5000 -def create_validator_config(name, options={}): +def create_validator_config(name, options={}): # lint-amnesty, pylint: disable=dangerous-default-value """ This function is meant to be used for testing purposes to create validators easily. It returns a validator config of the form: @@ -71,7 +71,7 @@ def password_validators_instruction_texts(): complexity_instructions=' & '.join(complexity_instructions) ) else: - return _('Your password must contain {length_instruction}.'.format(length_instruction=length_instruction)) + return _('Your password must contain {length_instruction}.'.format(length_instruction=length_instruction)) # lint-amnesty, pylint: disable=translation-of-non-string def password_validators_restrictions(): @@ -99,7 +99,7 @@ def normalize_password(password): password = text_type(password, encoding='utf8') except UnicodeDecodeError: # no reason to get into weeds - raise ValidationError([_('Invalid password.')]) + raise ValidationError([_('Invalid password.')]) # lint-amnesty, pylint: disable=raise-missing-from return unicodedata.normalize('NFKC', password) @@ -144,7 +144,7 @@ def _validate_condition(password, fn, min_count): return valid_count >= min_count -class MinimumLengthValidator(DjangoMinimumLengthValidator): +class MinimumLengthValidator(DjangoMinimumLengthValidator): # lint-amnesty, pylint: disable=missing-class-docstring def get_instruction_text(self): return ungettext( 'at least %(min_length)d character', @@ -169,7 +169,7 @@ class MaximumLengthValidator(object): def __init__(self, max_length=75): self.max_length = max_length - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if len(password) > self.max_length: raise ValidationError( ungettext( @@ -206,7 +206,7 @@ class AlphabeticValidator(object): def __init__(self, min_alphabetic=0): self.min_alphabetic = min_alphabetic - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: c.isalpha(), self.min_alphabetic): return raise ValidationError( @@ -226,7 +226,7 @@ class AlphabeticValidator(object): self.min_alphabetic ) % {'min_alphabetic': self.min_alphabetic} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_alphabetic > 0: return ungettext( '%(num)d letter', @@ -254,7 +254,7 @@ class NumericValidator(object): def __init__(self, min_numeric=0): self.min_numeric = min_numeric - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: c.isnumeric(), self.min_numeric): return raise ValidationError( @@ -274,7 +274,7 @@ class NumericValidator(object): self.min_numeric ) % {'min_numeric': self.min_numeric} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_numeric > 0: return ungettext( '%(num)d number', @@ -302,7 +302,7 @@ class UppercaseValidator(object): def __init__(self, min_upper=0): self.min_upper = min_upper - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: c.isupper(), self.min_upper): return raise ValidationError( @@ -322,7 +322,7 @@ class UppercaseValidator(object): self.min_upper ) % {'min_upper': self.min_upper} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_upper > 0: return ungettext( '%(num)d uppercase letter', @@ -350,7 +350,7 @@ class LowercaseValidator(object): def __init__(self, min_lower=0): self.min_lower = min_lower - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: c.islower(), self.min_lower): return raise ValidationError( @@ -370,7 +370,7 @@ class LowercaseValidator(object): self.min_lower ) % {'min_lower': self.min_lower} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_lower > 0: return ungettext( '%(num)d lowercase letter', @@ -399,7 +399,7 @@ class PunctuationValidator(object): def __init__(self, min_punctuation=0): self.min_punctuation = min_punctuation - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: 'P' in unicodedata.category(c), self.min_punctuation): return raise ValidationError( @@ -419,7 +419,7 @@ class PunctuationValidator(object): self.min_punctuation ) % {'min_punctuation': self.min_punctuation} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_punctuation > 0: return ungettext( '%(num)d punctuation mark', @@ -447,7 +447,7 @@ class SymbolValidator(object): def __init__(self, min_symbol=0): self.min_symbol = min_symbol - def validate(self, password, user=None): + def validate(self, password, user=None): # lint-amnesty, pylint: disable=unused-argument if _validate_condition(password, lambda c: 'S' in unicodedata.category(c), self.min_symbol): return raise ValidationError( @@ -467,7 +467,7 @@ class SymbolValidator(object): self.min_symbol ) % {'min_symbol': self.min_symbol} - def get_instruction_text(self): + def get_instruction_text(self): # lint-amnesty, pylint: disable=missing-function-docstring if self.min_symbol > 0: return ungettext( '%(num)d symbol', diff --git a/common/djangoapps/util/request_rate_limiter.py b/common/djangoapps/util/request_rate_limiter.py index 015890963d..cc2ad663e0 100644 --- a/common/djangoapps/util/request_rate_limiter.py +++ b/common/djangoapps/util/request_rate_limiter.py @@ -28,4 +28,4 @@ class BadRequestRateLimiter(RequestRateLimiter): """ Default rate limit is 30 requests for every 5 minutes. """ - pass + pass # lint-amnesty, pylint: disable=unnecessary-pass diff --git a/common/djangoapps/util/string_utils.py b/common/djangoapps/util/string_utils.py index 40885d0f99..ddb4b98d10 100644 --- a/common/djangoapps/util/string_utils.py +++ b/common/djangoapps/util/string_utils.py @@ -3,7 +3,7 @@ Utilities for string manipulation. """ -def str_to_bool(str): +def str_to_bool(str): # lint-amnesty, pylint: disable=redefined-builtin """ Converts "true" (case-insensitive) to the boolean True. Everything else will return False (including None). diff --git a/common/djangoapps/util/testing.py b/common/djangoapps/util/testing.py index 194f59e502..645deb96be 100644 --- a/common/djangoapps/util/testing.py +++ b/common/djangoapps/util/testing.py @@ -69,7 +69,7 @@ class UrlResetMixin(object): URLCONF_MODULES = ['myapp.url', 'another_app.urls'] """ - super(UrlResetMixin, self).setUp() + super(UrlResetMixin, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.reset_urls() self.addCleanup(self.reset_urls) @@ -80,7 +80,7 @@ class EventTestMixin(object): Generic mixin for verifying that events were emitted during a test. """ def setUp(self, tracker): - super(EventTestMixin, self).setUp() + super(EventTestMixin, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments patcher = patch(tracker) self.mock_tracker = patcher.start() self.addCleanup(patcher.stop) diff --git a/common/djangoapps/util/tests/mixins/discovery.py b/common/djangoapps/util/tests/mixins/discovery.py index d564f13ee5..4b77834871 100644 --- a/common/djangoapps/util/tests/mixins/discovery.py +++ b/common/djangoapps/util/tests/mixins/discovery.py @@ -19,7 +19,7 @@ class CourseCatalogServiceMockMixin(object): ) def setUp(self): - super(CourseCatalogServiceMockMixin, self).setUp() + super(CourseCatalogServiceMockMixin, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments cache.clear() def mock_course_discovery_api_for_catalog_contains(self, catalog_id=1, course_run_ids=None): diff --git a/common/djangoapps/util/tests/test_course.py b/common/djangoapps/util/tests/test_course.py index b9b0295c41..c43a34997f 100644 --- a/common/djangoapps/util/tests/test_course.py +++ b/common/djangoapps/util/tests/test_course.py @@ -20,7 +20,7 @@ class TestCourseSharingLinks(ModuleStoreTestCase): Tests for course sharing links. """ def setUp(self): - super(TestCourseSharingLinks, self).setUp() + super(TestCourseSharingLinks, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments # create test mongo course self.course = CourseFactory.create( diff --git a/common/djangoapps/util/tests/test_date_utils.py b/common/djangoapps/util/tests/test_date_utils.py index 5a448e01d9..3a7ea1c6f5 100644 --- a/common/djangoapps/util/tests/test_date_utils.py +++ b/common/djangoapps/util/tests/test_date_utils.py @@ -60,7 +60,7 @@ def test_get_time_display_coerce(): assert get_time_display(test_time_daylight, '%b %d %H:%M', coerce_tz="US/Pacific") == "Jul 12 08:03" -class NamelessTZ(tzinfo): +class NamelessTZ(tzinfo): # lint-amnesty, pylint: disable=abstract-method """Static timezone for testing""" def utcoffset(self, _dt): diff --git a/common/djangoapps/util/tests/test_db.py b/common/djangoapps/util/tests/test_db.py index c9e951db49..95c6c52dc8 100644 --- a/common/djangoapps/util/tests/test_db.py +++ b/common/djangoapps/util/tests/test_db.py @@ -6,7 +6,7 @@ import time import unittest import ddt -from django.contrib.auth.models import User +from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user from django.core.management import call_command from django.db import IntegrityError, connection from django.db.transaction import TransactionManagementError, atomic @@ -54,7 +54,7 @@ class TransactionManagersTestCase(TransactionTestCase): class RequestThread(threading.Thread): """ A thread which runs a dummy view.""" def __init__(self, delay, **kwargs): - super(RequestThread, self).__init__(**kwargs) + super(RequestThread, self).__init__(**kwargs) # lint-amnesty, pylint: disable=super-with-arguments self.delay = delay self.status = {} diff --git a/common/djangoapps/util/tests/test_disable_rate_limit.py b/common/djangoapps/util/tests/test_disable_rate_limit.py index 1326ccc548..31c117b1b8 100644 --- a/common/djangoapps/util/tests/test_disable_rate_limit.py +++ b/common/djangoapps/util/tests/test_disable_rate_limit.py @@ -32,7 +32,7 @@ class DisableRateLimitTest(TestCase): """Check that we can disable rate limiting for perf testing. """ def setUp(self): - super(DisableRateLimitTest, self).setUp() + super(DisableRateLimitTest, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments cache.clear() self.view = FakeApiView() diff --git a/common/djangoapps/util/tests/test_file.py b/common/djangoapps/util/tests/test_file.py index 0a3ef65260..1f7e0a2ea7 100644 --- a/common/djangoapps/util/tests/test_file.py +++ b/common/djangoapps/util/tests/test_file.py @@ -52,7 +52,7 @@ class FilenameGeneratorTestCase(TestCase): NOW = datetime.strptime('1974-06-22T01:02:03', '%Y-%m-%dT%H:%M:%S').replace(tzinfo=UTC) def setUp(self): - super(FilenameGeneratorTestCase, self).setUp() + super(FilenameGeneratorTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments datetime_patcher = patch.object( common.djangoapps.util.file, 'datetime', Mock(wraps=datetime) @@ -83,7 +83,7 @@ class StoreUploadedFileTestCase(TestCase): """ def setUp(self): - super(StoreUploadedFileTestCase, self).setUp() + super(StoreUploadedFileTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.request = Mock(spec=HttpRequest) self.file_content = b"test file content" self.stored_file_name = None @@ -91,7 +91,7 @@ class StoreUploadedFileTestCase(TestCase): self.default_max_size = 2000000 def tearDown(self): - super(StoreUploadedFileTestCase, self).tearDown() + super(StoreUploadedFileTestCase, self).tearDown() # lint-amnesty, pylint: disable=super-with-arguments if self.file_storage and self.stored_file_name: self.file_storage.delete(self.stored_file_name) @@ -232,28 +232,28 @@ class TestUniversalNewlineIterator(TestCase): @ddt.data(1, 2, 999) def test_line_feeds(self, buffer_size): self.assertEqual( - [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\nbar\n'), buffer_size=buffer_size)], + [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\nbar\n'), buffer_size=buffer_size)], # lint-amnesty, pylint: disable=line-too-long ['foo\n', 'bar\n'] ) @ddt.data(1, 2, 999) def test_carriage_returns(self, buffer_size): self.assertEqual( - [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\rbar\r'), buffer_size=buffer_size)], + [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\rbar\r'), buffer_size=buffer_size)], # lint-amnesty, pylint: disable=line-too-long ['foo\n', 'bar\n'] ) @ddt.data(1, 2, 999) def test_carriage_returns_and_line_feeds(self, buffer_size): self.assertEqual( - [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\r\nbar\r\n'), buffer_size=buffer_size)], + [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\r\nbar\r\n'), buffer_size=buffer_size)], # lint-amnesty, pylint: disable=line-too-long ['foo\n', 'bar\n'] ) @ddt.data(1, 2, 999) def test_no_trailing_newline(self, buffer_size): self.assertEqual( - [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\nbar'), buffer_size=buffer_size)], + [thing.decode('utf-8') for thing in UniversalNewlineIterator(StringIO(u'foo\nbar'), buffer_size=buffer_size)], # lint-amnesty, pylint: disable=line-too-long ['foo\n', 'bar'] ) @@ -281,4 +281,4 @@ class TestUniversalNewlineIterator(TestCase): @ddt.data(1, 2, 999) def test_unicode_data(self, buffer_size): self.assertEqual([thing.decode('utf-8') if six.PY3 else thing for thing in - UniversalNewlineIterator(StringIO(u'héllø wo®ld'), buffer_size=buffer_size)], [u'héllø wo®ld']) + UniversalNewlineIterator(StringIO(u'héllø wo®ld'), buffer_size=buffer_size)], [u'héllø wo®ld']) # lint-amnesty, pylint: disable=line-too-long diff --git a/common/djangoapps/util/tests/test_keyword_sub_utils.py b/common/djangoapps/util/tests/test_keyword_sub_utils.py index 20578c94fc..8938a49f35 100644 --- a/common/djangoapps/util/tests/test_keyword_sub_utils.py +++ b/common/djangoapps/util/tests/test_keyword_sub_utils.py @@ -21,7 +21,7 @@ class KeywordSubTest(ModuleStoreTestCase): CREATE_USER = False def setUp(self): - super(KeywordSubTest, self).setUp() + super(KeywordSubTest, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.user = UserFactory.create( email="testuser@edx.org", username="testuser", diff --git a/common/djangoapps/util/tests/test_memcache.py b/common/djangoapps/util/tests/test_memcache.py index 9c935e72d2..1b2e8f1a2c 100644 --- a/common/djangoapps/util/tests/test_memcache.py +++ b/common/djangoapps/util/tests/test_memcache.py @@ -21,7 +21,7 @@ class MemcacheTest(TestCase): [129, 500, 2 ** 8 - 1, 2 ** 8 + 1, 2 ** 16 - 1]) def setUp(self): - super(MemcacheTest, self).setUp() + super(MemcacheTest, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.cache = caches['default'] def test_safe_key(self): diff --git a/common/djangoapps/util/tests/test_milestones_helpers.py b/common/djangoapps/util/tests/test_milestones_helpers.py index 62dd1e534c..f8dcc922cc 100644 --- a/common/djangoapps/util/tests/test_milestones_helpers.py +++ b/common/djangoapps/util/tests/test_milestones_helpers.py @@ -31,7 +31,7 @@ class MilestonesHelpersTestCase(ModuleStoreTestCase): """ Test case scaffolding """ - super(MilestonesHelpersTestCase, self).setUp() + super(MilestonesHelpersTestCase, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.course = CourseFactory.create( metadata={ 'entrance_exam_enabled': True, diff --git a/common/djangoapps/util/tests/test_password_policy_validators.py b/common/djangoapps/util/tests/test_password_policy_validators.py index e652c52cb1..f7f4eb3da3 100644 --- a/common/djangoapps/util/tests/test_password_policy_validators.py +++ b/common/djangoapps/util/tests/test_password_policy_validators.py @@ -5,7 +5,7 @@ import unittest from ddt import data, ddt, unpack -from django.contrib.auth.models import User +from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user from django.core.exceptions import ValidationError from django.test.utils import override_settings @@ -73,25 +73,25 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): 'This password is too short. It must contain at least 2 characters.') @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2})], # lint-amnesty, pylint: disable=line-too-long 'at least 2 characters.'), ([ - create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), - create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}), + create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}), # lint-amnesty, pylint: disable=line-too-long ], 'characters, including 2 letters.'), ([ - create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), - create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}), - create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}), + create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}), # lint-amnesty, pylint: disable=line-too-long ], 'characters, including 2 letters & 1 number.'), ([ - create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), - create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}), - create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}), - create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2}), + create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}), # lint-amnesty, pylint: disable=line-too-long + create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2}), # lint-amnesty, pylint: disable=line-too-long ], 'including 3 uppercase letters & 1 number & 2 symbols.'), ) @unpack @@ -116,13 +116,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg, user) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 1})], # lint-amnesty, pylint: disable=line-too-long u'', 'This password is too short. It must contain at least 1 character.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})], # lint-amnesty, pylint: disable=line-too-long u'd', 'This password is too short. It must contain at least 8 characters.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})], # lint-amnesty, pylint: disable=line-too-long u'longpassword', None), ) @unpack @@ -132,13 +132,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 1})], # lint-amnesty, pylint: disable=line-too-long u'longpassword', 'This password is too long. It must contain no more than 1 character.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 10})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 10})], # lint-amnesty, pylint: disable=line-too-long u'longpassword', 'This password is too long. It must contain no more than 10 characters.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 20})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 20})], # lint-amnesty, pylint: disable=line-too-long u'shortpassword', None), ) @unpack @@ -160,13 +160,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 1})], # lint-amnesty, pylint: disable=line-too-long u'12345', 'This password must contain at least 1 letter.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 5})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 5})], # lint-amnesty, pylint: disable=line-too-long u'test123', 'This password must contain at least 5 letters.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2})], # lint-amnesty, pylint: disable=line-too-long u'password', None), ) @unpack @@ -176,13 +176,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1})], # lint-amnesty, pylint: disable=line-too-long u'test', 'This password must contain at least 1 number.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 4})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 4})], # lint-amnesty, pylint: disable=line-too-long u'test123', 'This password must contain at least 4 numbers.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 2})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 2})], # lint-amnesty, pylint: disable=line-too-long u'password123', None), ) @unpack @@ -192,13 +192,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})], # lint-amnesty, pylint: disable=line-too-long u'lowercase', 'This password must contain at least 1 uppercase letter.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 6})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 6})], # lint-amnesty, pylint: disable=line-too-long u'NOTenough', 'This password must contain at least 6 uppercase letters.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})], # lint-amnesty, pylint: disable=line-too-long u'camelCase', None), ) @unpack @@ -208,13 +208,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})], # lint-amnesty, pylint: disable=line-too-long u'UPPERCASE', 'This password must contain at least 1 lowercase letter.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 4})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 4})], # lint-amnesty, pylint: disable=line-too-long u'notENOUGH', 'This password must contain at least 4 lowercase letters.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})], # lint-amnesty, pylint: disable=line-too-long u'goodPassword', None), ) @unpack @@ -224,13 +224,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 1})], # lint-amnesty, pylint: disable=line-too-long u'no punctuation', 'This password must contain at least 1 punctuation mark.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 7})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 7})], # lint-amnesty, pylint: disable=line-too-long u'p@$$w0rd$!', 'This password must contain at least 7 punctuation marks.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})], # lint-amnesty, pylint: disable=line-too-long u'excl@m@t!on', None), ) @unpack @@ -240,13 +240,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase): self.validation_errors_checker(password, msg) @data( - ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 1})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 1})], # lint-amnesty, pylint: disable=line-too-long u'no symbol', 'This password must contain at least 1 symbol.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 3})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 3})], # lint-amnesty, pylint: disable=line-too-long u'☹️boo☹️', 'This password must contain at least 3 symbols.'), - ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2})], + ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2})], # lint-amnesty, pylint: disable=line-too-long u'☪symbols!☹️', None), ) @unpack diff --git a/common/djangoapps/util/tests/test_sandboxing.py b/common/djangoapps/util/tests/test_sandboxing.py index 0edd014464..d3b3240eff 100644 --- a/common/djangoapps/util/tests/test_sandboxing.py +++ b/common/djangoapps/util/tests/test_sandboxing.py @@ -34,7 +34,7 @@ class SandboxingTest(TestCase): def test_courselikes_with_unsafe_code_default(self): """ - Test that the default setting for COURSES_WITH_UNSAFE_CODE is an empty setting, e.g. we don't use @override_settings in these tests + Test that the default setting for COURSES_WITH_UNSAFE_CODE is an empty setting, e.g. we don't use @override_settings in these tests # lint-amnesty, pylint: disable=line-too-long """ self.assertFalse(can_execute_unsafe_code(CourseLocator('edX', 'full', '2012_Fall'))) self.assertFalse(can_execute_unsafe_code(CourseLocator('edX', 'full', '2013_Spring'))) diff --git a/common/djangoapps/util/validate_on_save.py b/common/djangoapps/util/validate_on_save.py index ff78d460b9..08a0ad57d4 100644 --- a/common/djangoapps/util/validate_on_save.py +++ b/common/djangoapps/util/validate_on_save.py @@ -11,4 +11,4 @@ class ValidateOnSaveMixin(object): """ if not (force_insert or force_update): self.full_clean() - super(ValidateOnSaveMixin, self).save(force_insert, force_update, **kwargs) + super(ValidateOnSaveMixin, self).save(force_insert, force_update, **kwargs) # lint-amnesty, pylint: disable=super-with-arguments diff --git a/common/djangoapps/util/views.py b/common/djangoapps/util/views.py index 9bb769dc14..5dcdb006c3 100644 --- a/common/djangoapps/util/views.py +++ b/common/djangoapps/util/views.py @@ -1,4 +1,4 @@ -import json +import json # lint-amnesty, pylint: disable=missing-module-docstring import logging import sys from functools import wraps @@ -38,7 +38,7 @@ def ensure_valid_course_key(view_func): try: CourseKey.from_string(course_key) except InvalidKeyError: - raise Http404 + raise Http404 # lint-amnesty, pylint: disable=raise-missing-from response = view_func(request, *args, **kwargs) return response @@ -58,7 +58,7 @@ def ensure_valid_usage_key(view_func): try: UsageKey.from_string(usage_key) except InvalidKeyError: - raise Http404 + raise Http404 # lint-amnesty, pylint: disable=raise-missing-from response = view_func(request, *args, **kwargs) return response @@ -138,7 +138,7 @@ def handle_500(template_path, context=None, test_func=None): try: return func(request, *args, **kwargs) except Exception: # pylint: disable=broad-except - if settings.DEBUG: + if settings.DEBUG: # lint-amnesty, pylint: disable=no-else-raise # In debug mode let django process the 500 errors and display debug info for the developer raise elif test_func is None or test_func(request): @@ -159,12 +159,12 @@ def calculate(request): equation = request.GET['equation'] try: result = calc.evaluator({}, {}, equation) - except: + except: # lint-amnesty, pylint: disable=bare-except event = {'error': list(map(str, sys.exc_info())), 'equation': equation} track_views.server_track(request, 'error:calc', event, page='calc') - return HttpResponse(json.dumps({'result': 'Invalid syntax'})) - return HttpResponse(json.dumps({'result': str(result)})) + return HttpResponse(json.dumps({'result': 'Invalid syntax'})) # lint-amnesty, pylint: disable=http-response-with-json-dumps + return HttpResponse(json.dumps({'result': str(result)})) # lint-amnesty, pylint: disable=http-response-with-json-dumps def info(request):