This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/allura.git
commit cedea1b40fc4efc4a939f4b6828bfde41cb27ab3 Author: Dave Brondsema <[email protected]> AuthorDate: Fri Mar 10 16:20:42 2023 -0500 [#8502] remove old unused pylint custom check --- AlluraTest/alluratest/pylint_checkers.py | 73 -------------------------------- AlluraTest/alluratest/test_syntax.py | 10 ----- requirements.in | 1 - 3 files changed, 84 deletions(-) diff --git a/AlluraTest/alluratest/pylint_checkers.py b/AlluraTest/alluratest/pylint_checkers.py deleted file mode 100644 index fa2766ff2..000000000 --- a/AlluraTest/alluratest/pylint_checkers.py +++ /dev/null @@ -1,73 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -import astroid - -from pylint.checkers import BaseChecker, utils -from pylint.interfaces import IAstroidChecker - - -def register(linter): - linter.register_checker(ExposedAPIHasKwargs(linter)) - - -# FIXME? -BASE_ID = 76 # taken from https://github.com/edx/edx-lint/tree/master/edx_lint/pylint - -class ExposedAPIHasKwargs(BaseChecker): - - __implements__ = (IAstroidChecker,) - - name = 'exposed-api-needs-kwargs' - - MESSAGE_ID = name - msgs = { - 'E%d10' % BASE_ID: ( - "@expose'd method %s() looks like an API and needs **kwargs", - MESSAGE_ID, - "@expose'd API methods should have **kwargs to avoid an error when accessed with ?access_token=XYZ", - ), - } - - @utils.check_messages(MESSAGE_ID) - def visit_function(self, node): - # special TurboGears method name, doesn't need **kw - if node.name == '_lookup': - return - - # Assume @expose('json:') means its an API endpoint. Not a perfect assumption: - # - could be an API endpoint used only for PUT/POST with no json result) - # - there are non-API endpoints that return json (for ajax) - has_json_expose = False - if node.decorators: - for dec in node.decorators.nodes: - if hasattr(dec, 'func'): # otherwise its a @deco without parens - if getattr(dec.func, 'name', '') == 'expose': - for arg in dec.args: - if getattr(arg, 'value', '') in ('json', 'json:'): - has_json_expose = True - - if not has_json_expose: - return - - if node.args.kwarg: - return - - if not self.linter.is_message_enabled(self.MESSAGE_ID, line=node.fromlineno): - return - - self.add_message(self.MESSAGE_ID, args=node.name, node=node) diff --git a/AlluraTest/alluratest/test_syntax.py b/AlluraTest/alluratest/test_syntax.py index da40861de..6bf68f3f1 100644 --- a/AlluraTest/alluratest/test_syntax.py +++ b/AlluraTest/alluratest/test_syntax.py @@ -71,12 +71,6 @@ def test_no_tabs(): raise Exception('These should not use tab chars') -def run_linter(files): - raise SkipTest('pylint see [#8346]') - if run('pylint -E --disable=all --enable=exposed-api-needs-kwargs --load-plugins alluratest.pylint_checkers {}'.format(' '.join(files))) != 0: - raise Exception('Custom Allura pylint errors found.') - - def run_ruff(files): # skip some that aren't critical errors files = [f for f in files if '/migrations/' not in f] @@ -108,10 +102,6 @@ def create_many_lint_methods(): if not files: continue - lint_test_method = lambda self, these_files=files: run_linter(these_files) - lint_test_method.__name__ = str(f'test_pylint_{i}') - setattr(TestLinters, f'test_pylint_{i}', lint_test_method) - pyflake_test_method = lambda self, these_files=files: run_ruff(these_files) pyflake_test_method.__name__ = str(f'test_ruff_{i}') setattr(TestLinters, f'test_ruff_{i}', pyflake_test_method) diff --git a/requirements.in b/requirements.in index e209b3487..0644bdfdb 100644 --- a/requirements.in +++ b/requirements.in @@ -50,7 +50,6 @@ wrapt # testing mock ruff -#pylint -- disabled due to [#8346] (also requires diff versions on py2 vs 3, including transitive deps which gets tricky with pip-compile) testfixtures WebTest pytest
