From 189e33e48c92e8ad688e1ab2727a62b4dc490ae0 Mon Sep 17 00:00:00 2001 From: Vinay Karanam Date: Thu, 14 Nov 2019 02:22:07 +0530 Subject: [PATCH] Fixed sorting for non editable requirement urls --- pre_commit_hooks/requirements_txt_fixer.py | 5 +++-- tests/requirements_txt_fixer_test.py | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py index eff7935..1aa0dff 100644 --- a/pre_commit_hooks/requirements_txt_fixer.py +++ b/pre_commit_hooks/requirements_txt_fixer.py @@ -21,8 +21,9 @@ class Requirement(object): @property def name(self): # type: () -> bytes assert self.value is not None, self.value - if self.value.startswith(b'-e '): - return self.value.lower().partition(b'=')[-1] + for egg in (b'#egg=', b'&egg='): + if egg in self.value: + return self.value.lower().partition(egg)[-1] return self.value.lower().partition(b'==')[0] diff --git a/tests/requirements_txt_fixer_test.py b/tests/requirements_txt_fixer_test.py index 2e2eab6..7b9b07d 100644 --- a/tests/requirements_txt_fixer_test.py +++ b/tests/requirements_txt_fixer_test.py @@ -45,6 +45,11 @@ from pre_commit_hooks.requirements_txt_fixer import Requirement ), (b'bar\npkg-resources==0.0.0\nfoo\n', FAIL, b'bar\nfoo\n'), (b'foo\npkg-resources==0.0.0\nbar\n', FAIL, b'bar\nfoo\n'), + ( + b'git+ssh://git_url@tag#egg=ocflib\nDjango\nijk\n', + FAIL, + b'Django\nijk\ngit+ssh://git_url@tag#egg=ocflib\n', + ), ), ) def test_integration(input_s, expected_retval, output, tmpdir):