diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py index 6dcf8d0..dcfa8d5 100644 --- a/pre_commit_hooks/requirements_txt_fixer.py +++ b/pre_commit_hooks/requirements_txt_fixer.py @@ -61,6 +61,9 @@ def fix_requirements(f): elif line.startswith(b'#') or line.strip() == b'': requirement.comments.append(line) else: + # Automatically fix 'package=version' to 'package==version' + if b'=' in line and b'==' not in line and b'egg=' not in line: + line = line.replace(b'=', b'==') requirement.value = line # if a file ends in a comment, preserve it at the end diff --git a/tests/requirements_txt_fixer_test.py b/tests/requirements_txt_fixer_test.py index 437cebd..38f75df 100644 --- a/tests/requirements_txt_fixer_test.py +++ b/tests/requirements_txt_fixer_test.py @@ -30,6 +30,7 @@ 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'foo=1\n', FAIL, b'foo==1\n'), ), ) def test_integration(input_s, expected_retval, output, tmpdir):