pre-commit-hooks: python3.6+
diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py
index 1aa0dff..dc41815 100644
--- a/pre_commit_hooks/requirements_txt_fixer.py
+++ b/pre_commit_hooks/requirements_txt_fixer.py
@@ -1,5 +1,3 @@
-from __future__ import print_function
-
import argparse
from typing import IO
from typing import List
@@ -11,15 +9,13 @@
FAIL = 1
-class Requirement(object):
-
- def __init__(self): # type: () -> None
- super(Requirement, self).__init__()
- self.value = None # type: Optional[bytes]
- self.comments = [] # type: List[bytes]
+class Requirement:
+ def __init__(self) -> None:
+ self.value: Optional[bytes] = None
+ self.comments: List[bytes] = []
@property
- def name(self): # type: () -> bytes
+ def name(self) -> bytes:
assert self.value is not None, self.value
for egg in (b'#egg=', b'&egg='):
if egg in self.value:
@@ -27,7 +23,7 @@
return self.value.lower().partition(b'==')[0]
- def __lt__(self, requirement): # type: (Requirement) -> int
+ def __lt__(self, requirement: 'Requirement') -> int:
# \n means top of file comment, so always return True,
# otherwise just do a string comparison with value.
assert self.value is not None, self.value
@@ -39,10 +35,10 @@
return self.name < requirement.name
-def fix_requirements(f): # type: (IO[bytes]) -> int
- requirements = [] # type: List[Requirement]
+def fix_requirements(f: IO[bytes]) -> int:
+ requirements: List[Requirement] = []
before = list(f)
- after = [] # type: List[bytes]
+ after: List[bytes] = []
before_string = b''.join(before)
@@ -109,7 +105,7 @@
return FAIL
-def main(argv=None): # type: (Optional[Sequence[str]]) -> int
+def main(argv: Optional[Sequence[str]] = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument('filenames', nargs='*', help='Filenames to fix')
args = parser.parse_args(argv)
@@ -121,7 +117,7 @@
ret_for_file = fix_requirements(file_obj)
if ret_for_file:
- print('Sorting {}'.format(arg))
+ print(f'Sorting {arg}')
retv |= ret_for_file