annotate python/sortdiff.py @ 694:ebca6d85213a

File "/usr/lib/python3/dist-packages/IPython/config/__init__.py", line 16, in <module> from .application import * File "/usr/lib/python3/dist-packages/IPython/config/application.py", line 31, in <module> from IPython.config.configurable import SingletonConfigurable File "/usr/lib/python3/dist-packages/IPython/config/configurable.py", line 33, in <module> from IPython.utils.text import indent, wrap_paragraphs File "/usr/lib/python3/dist-packages/IPython/utils/text.py", line 28, in <module> from IPython.external.path import path File "/usr/lib/python3/dist-packages/IPython/external/path/__init__.py", line 2, in <module> from path import * File "/home/jhammel/python/path.py", line 25 print root(path) ^
author Jeff Hammel <k0scist@gmail.com>
date Wed, 09 Jul 2014 16:26:49 -0700
parents 84a865a880a8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
499
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 import optparse
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 import os
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 import sys
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 def main(args=sys.argv[1:]):
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 usage = '%prog [options]'
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 parser = optparse.OptionParser(usage=usage, description=__doc__)
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 options, args = parser.parse_args(args)
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 lines = sys.stdin.readlines()
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 diff = {'+': set(),
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 '-': set()}
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 for line in lines:
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 for key, value in diff.items():
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 if line.startswith(key):
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 value.add(line[1:].strip())
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 added = diff['+'].difference(diff['-'])
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 minus = diff['-'].difference(diff['+'])
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 print '+++'
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 for line in sorted(added):
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 print line
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 print '---'
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 for line in sorted(minus):
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 print line
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
31 if __name__ == '__main__':
84a865a880a8 a new way to view diffs based on sorted lines
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
32 main()