aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/cmdline.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/cmdline.py')
-rw-r--r--libpathod/cmdline.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/libpathod/cmdline.py b/libpathod/cmdline.py
index 2279262d..af1b1c3d 100644
--- a/libpathod/cmdline.py
+++ b/libpathod/cmdline.py
@@ -8,6 +8,7 @@ from netlib import http_uastrings
from . import pathoc, pathod, version, utils, language
+
def args_pathoc(argv, stdout=sys.stdout, stderr=sys.stderr):
preparser = argparse.ArgumentParser(add_help=False)
preparser.add_argument(
@@ -234,13 +235,17 @@ def args_pathod(argv, stdout=sys.stdout, stderr=sys.stderr):
action="append",
metavar="ANCHOR",
help="""
- Add an anchor. Specified as a string with the form pattern=pagespec, or
- pattern=filepath
+ Add an anchor. Specified as a string with the form
+ pattern=spec or pattern=filepath, where pattern is a regular
+ expression.
"""
)
parser.add_argument(
- "-c", dest='craftanchor', default="/p", type=str,
- help='Anchorpoint for URL crafting commands. (/p)'
+ "-c", dest='craftanchor', default=pathod.DEFAULT_ANCHOR, type=str,
+ help="""
+ Regular expression specifying anchor point for URL crafting
+ commands. (%s)
+ """%pathod.DEFAULT_ANCHOR
)
parser.add_argument(
"--confdir",
@@ -394,6 +399,13 @@ def args_pathod(argv, stdout=sys.stdout, stderr=sys.stderr):
return parser.error(v)
args.sizelimit = sizelimit
+ try:
+ args.craftanchor = re.compile(args.craftanchor)
+ except re.error:
+ return parser.error(
+ "Invalid regex in craft anchor: %s" % args.craftanchor
+ )
+
anchors = []
for patt, spec in args.anchors:
if os.path.isfile(spec):