diff options
| -rw-r--r-- | libpathod/cmdline.py | 4 | ||||
| -rw-r--r-- | libpathod/pathoc.py | 16 | 
2 files changed, 16 insertions, 4 deletions
| diff --git a/libpathod/cmdline.py b/libpathod/cmdline.py index 4a2390ed..7a82a429 100644 --- a/libpathod/cmdline.py +++ b/libpathod/cmdline.py @@ -51,6 +51,10 @@ def go_pathoc():          help='Repeat N times. If 0 repeat for ever.'      )      parser.add_argument( +        "-w", dest='wait', default=0, type=float, metavar="N", +        help='Wait N seconds between each request.' +    ) +    parser.add_argument(          "-r", dest="random", action="store_true", default=False,          help="""          Select a random request from those specified. If this is not specified, diff --git a/libpathod/pathoc.py b/libpathod/pathoc.py index e7aff520..d6b2c7a2 100644 --- a/libpathod/pathoc.py +++ b/libpathod/pathoc.py @@ -2,12 +2,15 @@ import sys  import os  import hashlib  import random +import time + +import OpenSSL.crypto +  from netlib import tcp, http, certutils  import netlib.utils  import language  import utils -import OpenSSL.crypto  class PathocError(Exception): @@ -226,9 +229,13 @@ def main(args):      try:          cnt = 0          while 1: +            if cnt == args.repeat and args.repeat != 0: +                break              if trycount > args.memolimit:                  print >> sys.stderr, "Memo limit exceeded..."                  return +            if args.wait and cnt != 0: +                time.sleep(args.wait)              cnt += 1              if args.random: @@ -262,7 +269,10 @@ def main(args):              trycount = 0              try:                  p.connect(args.connect_to) -            except (tcp.NetLibError, PathocError), v: +            except tcp.NetLibError, v: +                print >> sys.stderr, str(v) +                continue +            except PathocError, v:                  print >> sys.stderr, str(v)                  sys.exit(1)              if args.timeout: @@ -281,7 +291,5 @@ def main(args):                  sys.stdout.flush()                  if ret and args.oneshot:                      sys.exit(0) -            if cnt == args.repeat: -                break      except KeyboardInterrupt:          pass | 
