From 470e17003797e66578090576a888eab1c18565d5 Mon Sep 17 00:00:00 2001 From: Dustin Ingram Date: Thu, 18 Apr 2019 15:30:20 -0500 Subject: Remove unnecessary test skips These tests were being skipped unnecessarily. The skips were added in #809. --- test_isort.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test_isort.py b/test_isort.py index 92c6d197..e1d90d15 100644 --- a/test_isort.py +++ b/test_isort.py @@ -2578,8 +2578,6 @@ def test_new_lines_are_preserved(): os.remove(n_newline.name) -@pytest.mark.skipif(not finders.RequirementsFinder.enabled, reason='RequirementsFinder not enabled (too old version of pip?)') -@pytest.mark.skipif(not finders.pipreqs, reason='pipreqs is missing') def test_requirements_finder(tmpdir): subdir = tmpdir.mkdir('subdir').join("lol.txt") subdir.write("flask") @@ -2656,8 +2654,6 @@ deal = {editable = true, git = "https://github.com/orsinium/deal.git"} """ -@pytest.mark.skipif(not finders.PipfileFinder.enabled, reason='PipfileFinder not enabled (missing requirementslib?)') -@pytest.mark.skipif(not finders.pipreqs, reason='pipreqs is missing') def test_pipfile_finder(tmpdir): pipfile = tmpdir.join('Pipfile') pipfile.write(PIPFILE) -- cgit v1.2.1 From bccda86a4eb6c4c1f3600040f23e781e39a9f199 Mon Sep 17 00:00:00 2001 From: Dustin Ingram Date: Thu, 18 Apr 2019 15:33:20 -0500 Subject: Relax RequirementsFinder test The ordering of the found requirements isn't important here --- test_isort.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_isort.py b/test_isort.py index e1d90d15..5f5c2ee7 100644 --- a/test_isort.py +++ b/test_isort.py @@ -2597,7 +2597,7 @@ def test_requirements_finder(tmpdir): files = list(finder._get_files()) assert len(files) == 1 # file finding assert files[0].endswith('requirements.txt') # file finding - assert list(finder._get_names(str(req_file))) == ['Django', 'deal'] # file parsing + assert set(finder._get_names(str(req_file))) == {'Django', 'deal'} # file parsing assert finder.find("django") == si.sections.THIRDPARTY # package in reqs assert finder.find("flask") is None # package not in reqs -- cgit v1.2.1 From c3100aecf05dfc39c4ab8cdb39f94bdf85bd198d Mon Sep 17 00:00:00 2001 From: Dustin Ingram Date: Thu, 18 Apr 2019 15:41:18 -0500 Subject: Use pip-api instead of importing pip --- isort/finders.py | 14 ++++---------- setup.py | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/isort/finders.py b/isort/finders.py index 75fe79a3..c7e24b62 100644 --- a/isort/finders.py +++ b/isort/finders.py @@ -20,15 +20,9 @@ except ImportError: pipreqs = None try: - # pip>=10 - from pip._internal.download import PipSession - from pip._internal.req import parse_requirements + from pip_api import parse_requirements except ImportError: - try: - from pip.download import PipSession - from pip.req import parse_requirements - except ImportError: - parse_requirements = None + parse_requirements = None try: from requirementslib import Pipfile @@ -325,8 +319,8 @@ class RequirementsFinder(ReqsBaseFinder): result = [] with chdir(os.path.dirname(path)): - requirements = parse_requirements(path, session=PipSession()) - for req in requirements: + requirements = parse_requirements(path) + for req in requirements.values(): if req.name: result.append(req.name) diff --git a/setup.py b/setup.py index e48e97a9..810a5aaf 100755 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ setup(name='isort', extras_require={ 'pipfile': ['pipreqs', 'requirementslib'], 'pyproject': ['toml'], - 'requirements': ['pip', 'pipreqs'], + 'requirements': ['pip', 'pipreqs', 'pip-api'], 'xdg_home': ['appdirs>=1.4.0'], }, python_requires=">=3.4", -- cgit v1.2.1