Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Aug 10, 2021. It is now read-only.

Commit 047dd63

Browse filesBrowse files
committed
exclude in pip-diff
1 parent 097c4a9 commit 047dd63
Copy full SHA for 047dd63

File tree

1 file changed

+9
-7
lines changed
Filter options

1 file changed

+9
-7
lines changed

‎bin/pip-diff

Copy file name to clipboardExpand all lines: bin/pip-diff
+9-7Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# -*- coding: utf-8 -*-
33

44
"""Usage:
5-
pip-diff (--fresh | --stale) <reqfile1> <reqfile2>
5+
pip-diff (--fresh | --stale) <reqfile1> <reqfile2> [--exclude <package>...]
66
pip-diff (-h | --help)
77
88
Options:
@@ -41,7 +41,7 @@ class Requirements(object):
4141
self.requirements.append(requirement.req)
4242

4343

44-
def diff(self, requirements, ignore_versions=False):
44+
def diff(self, requirements, ignore_versions=False, excludes=None):
4545
r1 = self
4646
r2 = requirements
4747
results = {'fresh': [], 'stale': []}
@@ -55,7 +55,7 @@ class Requirements(object):
5555
for req in r2.requirements:
5656
r = req.project_name if ignore_versions else req
5757

58-
if r not in other_reqs:
58+
if r not in other_reqs and r not in excludes:
5959
results['fresh'].append(req)
6060

6161
# Generate stale packages.
@@ -67,7 +67,7 @@ class Requirements(object):
6767
for req in r1.requirements:
6868
r = req.project_name if ignore_versions else req
6969

70-
if r not in other_reqs:
70+
if r not in other_reqs and r not in excludes:
7171
results['stale'].append(req)
7272

7373
return results
@@ -76,9 +76,10 @@ class Requirements(object):
7676

7777

7878

79-
def diff(r1, r2, include_fresh=False, include_stale=False):
79+
def diff(r1, r2, include_fresh=False, include_stale=False, excludes=None):
8080

8181
include_versions = True if include_stale else False
82+
excludes = excludes if len(excludes) else []
8283

8384
try:
8485
r1 = Requirements(r1)
@@ -87,7 +88,7 @@ def diff(r1, r2, include_fresh=False, include_stale=False):
8788
print('There was a problem loading the given requirements files.')
8889
exit(os.EX_NOINPUT)
8990

90-
results = r1.diff(r2, ignore_versions=True)
91+
results = r1.diff(r2, ignore_versions=True, excludes=excludes)
9192

9293
if include_fresh:
9394
for line in results['fresh']:
@@ -106,7 +107,8 @@ def main():
106107
'r1': args['<reqfile1>'],
107108
'r2': args['<reqfile2>'],
108109
'include_fresh': args['--fresh'],
109-
'include_stale': args['--stale']
110+
'include_stale': args['--stale'],
111+
'excludes': args['<package>']
110112
}
111113

112114
diff(**kwargs)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.