# HG changeset patch # User Andreas Nolda # Date 1624604745 -7200 # Fri Jun 25 09:05:45 2021 +0200 # Node ID 64e06afc3be2348d278b24c32e5e837c4e051403 # Parent a652e8481e86afdc3afaaf1ac2649fbedd953b75 simplify argument parser diff --git a/xgrep.py b/xgrep.py --- a/xgrep.py +++ b/xgrep.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 # xgrep.py -- search for elements in XML files, using XPath 1.0 expressions -# Andreas Nolda 2020-04-26 +# Andreas Nolda 2021-06-25 import sys import argparse @@ -8,7 +8,7 @@ from blessings import Terminal from lxml import etree -version=2.9 +version = 2.9 parser = argparse.ArgumentParser() parser.add_argument("expr", @@ -37,7 +37,7 @@ help="declare namespaces in matches") parser.add_argument("-q", "--quiet", action="store_true", help="only return exit status") -parser.add_argument("-r", "--regex", metavar="ns", nargs=1, +parser.add_argument("-r", "--regex", metavar="ns", help="namespace prefix for EXSLT regular expressions") parser.add_argument("-v", "--version", action="version", version="{0} {1}".format(parser.prog, version)) @@ -180,7 +180,7 @@ nsexpr = insert_default_ns(args.expr, nsmap) # add regexp namespace *after* inserting default namespace if args.regex: - nsmap[args.regex[0]] = "http://exslt.org/regular-expressions" + nsmap[args.regex] = "http://exslt.org/regular-expressions" matches = tree.xpath(nsexpr, namespaces=nsmap) if not args.quiet: if args.files_without_match: