Mercurial > hg > config
annotate python/example/ymldiff.py @ 929:7c4be71a560b default tip
remove old aliases
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Mon, 20 Oct 2025 15:22:19 -0700 |
| parents | 48ea50d346de |
| children |
| rev | line source |
|---|---|
|
220
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 |
| 808 | 3 # XXX/TODO: |
| 4 # I have no idea where this dependency comes from; on one hand, it sounds | |
| 5 # awesome! On another hand, it should, at the very least, be documented | |
|
220
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 import datadiff |
| 808 | 7 |
| 221 | 8 import optparse |
|
220
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 import sys |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 import yaml |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 def main(args=sys.argv[1:]): |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 usage = '%prog [options] from.yml to.yml' |
| 221 | 14 parser = optparse.OptionParser(usage=usage) |
|
220
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 options, args = parser.parse_args() |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 if len(args) != 2: |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 parser.error("Please supply two .yml files") |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
18 |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
19 # compare the output |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
20 output0 = yaml.load(file(args[0])) |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
21 output1 = yaml.load(file(args[1])) |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
22 diff = datadiff.diff(output0, output1, context=1, fromfile=args[0], tofile=args[1]) |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
23 print diff |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
24 |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
25 if __name__ == '__main__': |
|
192015ae3e4c
add ymldiff.py, requires datadiff and pyyaml to be installed
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
26 main() |
