Skip to content

Commit ac5a463

Browse files
Merge pull request #55 from MrMino/requirements-file-flag
Requirements file flag
2 parents 25caf5e + 52b1448 commit ac5a463

File tree

6 files changed

+29
-9
lines changed

6 files changed

+29
-9
lines changed

CHANGELOG.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
Release History
33
---------------
44

5+
2.2.0
6+
7+
- Added `--requirements-file` flag to `pip-extra-reqs` and `pip-missing-reqs`
8+
commands. This flag makes it possible to specify a path to the requirements
9+
file. Previously, `"requirements.txt"` was always used.
10+
511
2.1.1
612

713
- Bug fix: Though Python 2 support was removed from the source code, the published wheel was still universal.

pip_check_reqs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '2.1.1'
1+
__version__ = '2.2.0'

pip_check_reqs/find_extra_reqs.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def find_extra_reqs(options, requirements_filename):
4949
'used module: %s (from file %s, assuming stdlib or local)',
5050
modname, info.filename)
5151

52-
# 4. compare with requirements.txt
52+
# 4. compare with requirements
5353
explicit = common.find_required_modules(
5454
options=options,
5555
requirements_filename=requirements_filename,
@@ -63,6 +63,12 @@ def main():
6363

6464
usage = 'usage: %prog [options] files or directories'
6565
parser = optparse.OptionParser(usage)
66+
parser.add_option("--requirements-file",
67+
dest="requirements_filename",
68+
metavar="PATH",
69+
default="requirements.txt",
70+
help="path to the requirements file "
71+
"(defaults to \"requirements.txt\")")
6672
parser.add_option("-f",
6773
"--ignore-file",
6874
dest="ignore_files",
@@ -80,7 +86,7 @@ def main():
8086
dest="ignore_reqs",
8187
action="append",
8288
default=[],
83-
help="reqs in requirements.txt to ignore")
89+
help="reqs in requirements to ignore")
8490
parser.add_option("-v",
8591
"--verbose",
8692
dest="verbose",
@@ -124,18 +130,17 @@ def main():
124130

125131
log.info('using pip_check_reqs-%s from %s', __version__, __file__)
126132

127-
requirements_filename = 'requirements.txt'
128133
extras = find_extra_reqs(
129134
options=options,
130-
requirements_filename=requirements_filename,
135+
requirements_filename=options.requirements_filename,
131136
)
132137

133138
if extras:
134139
log.warning('Extra requirements:')
135140
for name in extras:
136141
message = '{name} in {requirements_filename}'.format(
137142
name=name,
138-
requirements_filename=requirements_filename,
143+
requirements_filename=options.requirements_filename,
139144
)
140145
log.warning(message)
141146

pip_check_reqs/find_missing_reqs.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def find_missing_reqs(options, requirements_filename):
5656
'used module: %s (from file %s, assuming stdlib or local)',
5757
modname, info.filename)
5858

59-
# 4. compare with requirements.txt
59+
# 4. compare with requirements
6060
explicit = set()
6161
for requirement in parse_requirements(
6262
requirements_filename,
@@ -84,6 +84,12 @@ def main():
8484

8585
usage = 'usage: %prog [options] files or directories'
8686
parser = optparse.OptionParser(usage)
87+
parser.add_option("--requirements-file",
88+
dest="requirements_filename",
89+
metavar="PATH",
90+
default="requirements.txt",
91+
help="path to the requirements file "
92+
"(defaults to \"requirements.txt\")")
8793
parser.add_option("-f",
8894
"--ignore-file",
8995
dest="ignore_files",
@@ -138,10 +144,9 @@ def main():
138144

139145
log.info('using pip_check_reqs-%s from %s', __version__, __file__)
140146

141-
requirements_filename = 'requirements.txt'
142147
missing = find_missing_reqs(
143148
options=options,
144-
requirements_filename=requirements_filename,
149+
requirements_filename=options.requirements_filename,
145150
)
146151

147152
if missing:

tests/test_find_extra_reqs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
def fake_opts():
1616
class FakeOptParse:
1717
class options:
18+
requirements_filename = 'requirements.txt'
1819
paths = ['dummy']
1920
verbose = False
2021
debug = False
@@ -124,6 +125,7 @@ def test_main_no_spec(monkeypatch, caplog, fake_opts):
124125
])
125126
def test_logging_config(monkeypatch, caplog, verbose_cfg, debug_cfg, result):
126127
class options:
128+
requirements_filename = ''
127129
paths = ['dummy']
128130
verbose = verbose_cfg
129131
debug = debug_cfg

tests/test_find_missing_reqs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
def fake_opts():
1616
class FakeOptParse:
1717
class options:
18+
requirements_filename = ''
1819
paths = ['dummy']
1920
verbose = False
2021
debug = False
@@ -136,6 +137,7 @@ def test_main_no_spec(monkeypatch, caplog, fake_opts):
136137
])
137138
def test_logging_config(monkeypatch, caplog, verbose_cfg, debug_cfg, result):
138139
class options:
140+
requirements_filename = '',
139141
paths = ['dummy']
140142
verbose = verbose_cfg
141143
debug = debug_cfg

0 commit comments

Comments
 (0)