From 3efafceb600e94cf0d2a69e4d246c960cb43b250 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping <sebastian@pipping.org> Date: Sat, 9 Sep 2017 17:54:18 +0200 Subject: [PATCH] udiffer.py: Improve overall structure --- expat/tests/udiffer.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/expat/tests/udiffer.py b/expat/tests/udiffer.py index 4f7f7599..6fb91be7 100755 --- a/expat/tests/udiffer.py +++ b/expat/tests/udiffer.py @@ -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() -- 2.40.0