aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/cmdline.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-06-04 19:09:38 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-06-04 19:09:38 +1200
commitae9f470d2b6e44fb87270b41a7694ed3b209da71 (patch)
tree0777260d31afc1ef7b96cd439696c69044e73672 /libpathod/cmdline.py
parentc5992b8d23e4b312e7ea8a4e74ef23c095c4164f (diff)
downloadmitmproxy-ae9f470d2b6e44fb87270b41a7694ed3b209da71.tar.gz
mitmproxy-ae9f470d2b6e44fb87270b41a7694ed3b209da71.tar.bz2
mitmproxy-ae9f470d2b6e44fb87270b41a7694ed3b209da71.zip
Craft anchor is now specified as a regex
Unifies this with anchor points.
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):