From 670f16c2f792d017eeaaf307a049b2316297c125 Mon Sep 17 00:00:00 2001 From: Vyacheslav Kapitonov Date: Wed, 27 Sep 2023 20:03:55 +0300 Subject: [PATCH] Remove duplicated elements --- pre_commit_hooks/requirements_txt_fixer.py | 3 ++- tests/requirements_txt_fixer_test.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py index 58843940..e088c0d6 100644 --- a/pre_commit_hooks/requirements_txt_fixer.py +++ b/pre_commit_hooks/requirements_txt_fixer.py @@ -116,7 +116,8 @@ def fix_requirements(f: IO[bytes]) -> int: for requirement in sorted(requirements): after.extend(requirement.comments) assert requirement.value, requirement.value - after.append(requirement.value) + if requirement.value not in after: + after.append(requirement.value) after.extend(rest) after_string = b''.join(after) diff --git a/tests/requirements_txt_fixer_test.py b/tests/requirements_txt_fixer_test.py index b725afa2..21c2fd8c 100644 --- a/tests/requirements_txt_fixer_test.py +++ b/tests/requirements_txt_fixer_test.py @@ -99,6 +99,8 @@ PASS, b'a=2.0.0 \\\n --hash=sha256:abcd\nb==1.0.0\n', ), + (b'\nfoo\nfoo\n', FAIL, b'\nfoo\n'), + (b'\nbar\nfoo\nbar\n', FAIL, b'\nbar\nfoo\n'), ), ) def test_integration(input_s, expected_retval, output, tmpdir):