From 12aed9400f099ff51a05889fc5a5de66d1f8d371 Mon Sep 17 00:00:00 2001 From: finswimmer Date: Thu, 13 Aug 2020 07:24:31 +0200 Subject: [PATCH] add whitespace before separator between url and markers for PEP508 url dependency string --- poetry/core/packages/dependency.py | 2 +- tests/packages/test_url_dependency.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tests/packages/test_url_dependency.py diff --git a/poetry/core/packages/dependency.py b/poetry/core/packages/dependency.py index 717529c2f..9a530f9ac 100644 --- a/poetry/core/packages/dependency.py +++ b/poetry/core/packages/dependency.py @@ -228,7 +228,7 @@ def to_pep_508(self, with_extras=True): # type: (bool) -> str ) if markers: - if self.is_vcs(): + if self.is_vcs() or self.is_url(): requirement += " " if len(markers) > 1: diff --git a/tests/packages/test_url_dependency.py b/tests/packages/test_url_dependency.py new file mode 100644 index 000000000..93423d940 --- /dev/null +++ b/tests/packages/test_url_dependency.py @@ -0,0 +1,23 @@ +from poetry.core.packages import URLDependency +from poetry.core.version.markers import SingleMarker + + +def test_to_pep_508(): + dependency = URLDependency( + "pytorch", + "https://download.pytorch.org/whl/cpu/torch-1.5.1%2Bcpu-cp38-cp38-linux_x86_64.whl", + ) + + expected = "pytorch @ https://download.pytorch.org/whl/cpu/torch-1.5.1%2Bcpu-cp38-cp38-linux_x86_64.whl" + assert expected == dependency.to_pep_508() + + +def test_to_pep_508_with_marker(): + dependency = URLDependency( + "pytorch", + "https://download.pytorch.org/whl/cpu/torch-1.5.1%2Bcpu-cp38-cp38-linux_x86_64.whl", + ) + dependency.marker = SingleMarker("sys.platform", "linux") + + expected = 'pytorch @ https://download.pytorch.org/whl/cpu/torch-1.5.1%2Bcpu-cp38-cp38-linux_x86_64.whl ; sys_platform == "linux"' + assert expected == dependency.to_pep_508()