diff options
author | Andrew Ammerlaan <andrewammerlaan@riseup.net> | 2021-04-18 10:46:11 +0200 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2021-05-19 20:41:59 +0200 |
commit | 2bd56688ccc7b929cb7b466dc8c558acf320ac95 (patch) | |
tree | 6156bd515cd2f5e71516e3447654952d1d960e1b /dev-python/python-lsp-server/files | |
parent | dev-python/python-lsp-jsonrpc: add spyder fork of python-jsonrpc-server (diff) | |
download | gentoo-2bd56688ccc7b929cb7b466dc8c558acf320ac95.tar.gz gentoo-2bd56688ccc7b929cb7b466dc8c558acf320ac95.tar.bz2 gentoo-2bd56688ccc7b929cb7b466dc8c558acf320ac95.zip |
dev-python/python-lsp-server: add spyder fork of python-language-server
Bug: https://bugs.gentoo.org/783618
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'dev-python/python-lsp-server/files')
-rw-r--r-- | dev-python/python-lsp-server/files/pyls-fix-test-with-pylint28.patch | 237 | ||||
-rw-r--r-- | dev-python/python-lsp-server/files/pyls-fix-test_folding.patch | 14 |
2 files changed, 251 insertions, 0 deletions
diff --git a/dev-python/python-lsp-server/files/pyls-fix-test-with-pylint28.patch b/dev-python/python-lsp-server/files/pyls-fix-test-with-pylint28.patch new file mode 100644 index 000000000000..99790b6baed9 --- /dev/null +++ b/dev-python/python-lsp-server/files/pyls-fix-test-with-pylint28.patch @@ -0,0 +1,237 @@ +From f6d9041b81d142657985b696d8da82cebdbe00bb Mon Sep 17 00:00:00 2001 +From: krassowski <krassowski.michal@gmail.com> +Date: Sun, 25 Apr 2021 21:06:28 +0100 +Subject: [PATCH 1/2] Address pylint's "consider-using-with" warnings + +--- + pylsp/plugins/flake8_lint.py | 25 +++++++++++++++---------- + pylsp/plugins/pylint_lint.py | 28 ++++++++++++++++------------ + test/plugins/test_flake8_lint.py | 7 +++---- + test/plugins/test_pylint_lint.py | 7 +++---- + 4 files changed, 37 insertions(+), 30 deletions(-) + +diff --git a/pylsp/plugins/flake8_lint.py b/pylsp/plugins/flake8_lint.py +index d632395..dfee5b4 100644 +--- a/pylsp/plugins/flake8_lint.py ++++ b/pylsp/plugins/flake8_lint.py +@@ -5,6 +5,7 @@ + import logging + import os.path + import re ++from contextlib import ExitStack + from subprocess import Popen, PIPE + from pylsp import hookimpl, lsp + +@@ -65,16 +66,20 @@ def run_flake8(flake8_executable, args, document): + ) + + log.debug("Calling %s with args: '%s'", flake8_executable, args) +- try: +- cmd = [flake8_executable] +- cmd.extend(args) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) +- except IOError: +- log.debug("Can't execute %s. Trying with 'python -m flake8'", flake8_executable) +- cmd = ['python', '-m', 'flake8'] +- cmd.extend(args) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) +- (stdout, stderr) = p.communicate(document.source.encode()) ++ with ExitStack() as stack: ++ try: ++ cmd = [flake8_executable] ++ cmd.extend(args) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ stack.enter_context(p) ++ except IOError: ++ log.debug("Can't execute %s. Trying with 'python -m flake8'", flake8_executable) ++ cmd = ['python', '-m', 'flake8'] ++ cmd.extend(args) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ stack.enter_context(p) ++ # exit stack ensures that even if an exception happens, the process `p` will be properly terminated ++ (stdout, stderr) = p.communicate(document.source.encode()) + if stderr: + log.error("Error while running flake8 '%s'", stderr.decode()) + return stdout.decode() +diff --git a/pylsp/plugins/pylint_lint.py b/pylsp/plugins/pylint_lint.py +index 5491787..6449cda 100644 +--- a/pylsp/plugins/pylint_lint.py ++++ b/pylsp/plugins/pylint_lint.py +@@ -7,6 +7,7 @@ + import logging + import sys + import re ++from contextlib import ExitStack + from subprocess import Popen, PIPE + + from pylint.epylint import py_run +@@ -232,18 +233,21 @@ def _run_pylint_stdio(pylint_executable, document, flags): + :rtype: string + """ + log.debug("Calling %s with args: '%s'", pylint_executable, flags) +- try: +- cmd = [pylint_executable] +- cmd.extend(flags) +- cmd.extend(['--from-stdin', document.path]) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) +- except IOError: +- log.debug("Can't execute %s. Trying with 'python -m pylint'", pylint_executable) +- cmd = ['python', '-m', 'pylint'] +- cmd.extend(flags) +- cmd.extend(['--from-stdin', document.path]) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) +- (stdout, stderr) = p.communicate(document.source.encode()) ++ with ExitStack() as stack: ++ try: ++ cmd = [pylint_executable] ++ cmd.extend(flags) ++ cmd.extend(['--from-stdin', document.path]) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ stack.enter_context(p) ++ except IOError: ++ log.debug("Can't execute %s. Trying with 'python -m pylint'", pylint_executable) ++ cmd = ['python', '-m', 'pylint'] ++ cmd.extend(flags) ++ cmd.extend(['--from-stdin', document.path]) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ stack.enter_context(p) ++ (stdout, stderr) = p.communicate(document.source.encode()) + if stderr: + log.error("Error while running pylint '%s'", stderr.decode()) + return stdout.decode() +diff --git a/test/plugins/test_flake8_lint.py b/test/plugins/test_flake8_lint.py +index eaabd40..4faf0dd 100644 +--- a/test/plugins/test_flake8_lint.py ++++ b/test/plugins/test_flake8_lint.py +@@ -21,10 +21,9 @@ def using_const(): + + + def temp_document(doc_text, workspace): +- temp_file = tempfile.NamedTemporaryFile(mode='w', delete=False) +- name = temp_file.name +- temp_file.write(doc_text) +- temp_file.close() ++ with tempfile.NamedTemporaryFile(mode='w', delete=False) as temp_file: ++ name = temp_file.name ++ temp_file.write(doc_text) + doc = Document(uris.from_fs_path(name), workspace) + + return name, doc +diff --git a/test/plugins/test_pylint_lint.py b/test/plugins/test_pylint_lint.py +index f83e754..cf7a7e4 100644 +--- a/test/plugins/test_pylint_lint.py ++++ b/test/plugins/test_pylint_lint.py +@@ -28,10 +28,9 @@ def hello(): + @contextlib.contextmanager + def temp_document(doc_text, workspace): + try: +- temp_file = tempfile.NamedTemporaryFile(mode='w', delete=False) +- name = temp_file.name +- temp_file.write(doc_text) +- temp_file.close() ++ with tempfile.NamedTemporaryFile(mode='w', delete=False) as temp_file: ++ name = temp_file.name ++ temp_file.write(doc_text) + yield Document(uris.from_fs_path(name), workspace) + finally: + os.remove(name) + +From 2d980b6d99b06de827d6589a48a75c6b196b32f4 Mon Sep 17 00:00:00 2001 +From: krassowski <krassowski.michal@gmail.com> +Date: Sun, 25 Apr 2021 22:14:53 +0100 +Subject: [PATCH 2/2] Revert the use of ExitStack, as requested + +--- + pylsp/plugins/flake8_lint.py | 25 ++++++++++--------------- + pylsp/plugins/pylint_lint.py | 28 ++++++++++++---------------- + 2 files changed, 22 insertions(+), 31 deletions(-) + +diff --git a/pylsp/plugins/flake8_lint.py b/pylsp/plugins/flake8_lint.py +index dfee5b4..03504ef 100644 +--- a/pylsp/plugins/flake8_lint.py ++++ b/pylsp/plugins/flake8_lint.py +@@ -5,7 +5,6 @@ + import logging + import os.path + import re +-from contextlib import ExitStack + from subprocess import Popen, PIPE + from pylsp import hookimpl, lsp + +@@ -66,20 +65,16 @@ def run_flake8(flake8_executable, args, document): + ) + + log.debug("Calling %s with args: '%s'", flake8_executable, args) +- with ExitStack() as stack: +- try: +- cmd = [flake8_executable] +- cmd.extend(args) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with +- stack.enter_context(p) +- except IOError: +- log.debug("Can't execute %s. Trying with 'python -m flake8'", flake8_executable) +- cmd = ['python', '-m', 'flake8'] +- cmd.extend(args) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with +- stack.enter_context(p) +- # exit stack ensures that even if an exception happens, the process `p` will be properly terminated +- (stdout, stderr) = p.communicate(document.source.encode()) ++ try: ++ cmd = [flake8_executable] ++ cmd.extend(args) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ except IOError: ++ log.debug("Can't execute %s. Trying with 'python -m flake8'", flake8_executable) ++ cmd = ['python', '-m', 'flake8'] ++ cmd.extend(args) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ (stdout, stderr) = p.communicate(document.source.encode()) + if stderr: + log.error("Error while running flake8 '%s'", stderr.decode()) + return stdout.decode() +diff --git a/pylsp/plugins/pylint_lint.py b/pylsp/plugins/pylint_lint.py +index 6449cda..d5ff3db 100644 +--- a/pylsp/plugins/pylint_lint.py ++++ b/pylsp/plugins/pylint_lint.py +@@ -7,7 +7,6 @@ + import logging + import sys + import re +-from contextlib import ExitStack + from subprocess import Popen, PIPE + + from pylint.epylint import py_run +@@ -233,21 +232,18 @@ def _run_pylint_stdio(pylint_executable, document, flags): + :rtype: string + """ + log.debug("Calling %s with args: '%s'", pylint_executable, flags) +- with ExitStack() as stack: +- try: +- cmd = [pylint_executable] +- cmd.extend(flags) +- cmd.extend(['--from-stdin', document.path]) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with +- stack.enter_context(p) +- except IOError: +- log.debug("Can't execute %s. Trying with 'python -m pylint'", pylint_executable) +- cmd = ['python', '-m', 'pylint'] +- cmd.extend(flags) +- cmd.extend(['--from-stdin', document.path]) +- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with +- stack.enter_context(p) +- (stdout, stderr) = p.communicate(document.source.encode()) ++ try: ++ cmd = [pylint_executable] ++ cmd.extend(flags) ++ cmd.extend(['--from-stdin', document.path]) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ except IOError: ++ log.debug("Can't execute %s. Trying with 'python -m pylint'", pylint_executable) ++ cmd = ['python', '-m', 'pylint'] ++ cmd.extend(flags) ++ cmd.extend(['--from-stdin', document.path]) ++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) # pylint: disable=consider-using-with ++ (stdout, stderr) = p.communicate(document.source.encode()) + if stderr: + log.error("Error while running pylint '%s'", stderr.decode()) + return stdout.decode() diff --git a/dev-python/python-lsp-server/files/pyls-fix-test_folding.patch b/dev-python/python-lsp-server/files/pyls-fix-test_folding.patch new file mode 100644 index 000000000000..d70f2b23d4be --- /dev/null +++ b/dev-python/python-lsp-server/files/pyls-fix-test_folding.patch @@ -0,0 +1,14 @@ +diff --git a/test/plugins/test_folding.py b/test/plugins/test_folding.py +index 57d6e2e..cef4583 100644 +--- a/test/plugins/test_folding.py ++++ b/test/plugins/test_folding.py +@@ -147,9 +147,6 @@ def test_folding(workspace): + {'startLine': 62, 'endLine': 63}, + {'startLine': 64, 'endLine': 65}, + {'startLine': 67, 'endLine': 68}] +- if sys.version_info[:2] >= (3, 9): +- # the argument list of the decorator is also folded in Python >= 3.9 +- expected.insert(4, {'startLine': 9, 'endLine': 10}) + + assert ranges == expected + |