]> granicus.if.org Git - libexpat/commitdiff
udiffer.py: Improve overall structure
authorSebastian Pipping <sebastian@pipping.org>
Sat, 9 Sep 2017 15:54:18 +0000 (17:54 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Sat, 9 Sep 2017 16:21:18 +0000 (18:21 +0200)
expat/tests/udiffer.py

index 4f7f759958116521c7a0b18a4cdacfa00ad08b1c..6fb91be7e3d0fc66dd544b3312567adbeaeeb4ee 100755 (executable)
@@ -28,8 +28,9 @@
 # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 # USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-import sys
+import argparse
 import difflib
+import sys
 
 
 def _read_lines(filename):
@@ -41,14 +42,21 @@ def _read_lines(filename):
             return f.readlines()
 
 
-if len(sys.argv) != 3:
-    sys.exit(2)
+def main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('first', metavar='FILE')
+    parser.add_argument('second', metavar='FILE')
+    config = parser.parse_args()
+
+    first = _read_lines(config.first)
+    second = _read_lines(config.second)
+
+    diffs = list(difflib.unified_diff(first, second, fromfile=config.first,
+                                      tofile=config.second))
+    if diffs:
+        sys.stdout.writelines(diffs)
+        sys.exit(1)
 
-first = _read_lines(sys.argv[1])
-second = _read_lines(sys.argv[2])
 
-diffs = list(difflib.unified_diff(first, second,
-                                  fromfile=sys.argv[1], tofile=sys.argv[2]))
-if diffs:
-    sys.stdout.writelines(diffs)
-    sys.exit(1)
+if __name__ == '__main__':
+    main()