add options --verbose, --exchange, --queue, --routing-key

This commit is contained in:
Noah Levitt 2014-05-23 13:39:39 -07:00
parent bd3f979b56
commit 8d269f4c56

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
# vim: set sw=4 et: # vim: set sw=4 et:
import logging import logging
import argparse import argparse
import time import time
@ -11,15 +11,11 @@ import os
import umbra.controller import umbra.controller
if __name__=="__main__": if __name__=="__main__":
# logging.basicConfig(stream=sys.stdout, level=logging.INFO,
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(asctime)s %(process)d %(levelname)s %(threadName)s %(name)s.%(funcName)s(%(filename)s:%(lineno)d) %(message)s')
import faulthandler import faulthandler
faulthandler.register(signal.SIGQUIT) faulthandler.register(signal.SIGQUIT)
arg_parser = argparse.ArgumentParser(prog=os.path.basename(sys.argv[0]), arg_parser = argparse.ArgumentParser(prog=os.path.basename(sys.argv[0]),
description='umbra - Browser automation tool', description='umbra - browser automation tool communicating via AMQP',
formatter_class=argparse.ArgumentDefaultsHelpFormatter) formatter_class=argparse.ArgumentDefaultsHelpFormatter)
arg_parser.add_argument('-w', '--browser-wait', dest='browser_wait', default='60', arg_parser.add_argument('-w', '--browser-wait', dest='browser_wait', default='60',
help='Seconds to wait for browser initialization') help='Seconds to wait for browser initialization')
@ -27,13 +23,27 @@ if __name__=="__main__":
help='Executable to use to invoke chrome') help='Executable to use to invoke chrome')
arg_parser.add_argument('-u', '--url', dest='amqp_url', default='amqp://guest:guest@localhost:5672/%2f', arg_parser.add_argument('-u', '--url', dest='amqp_url', default='amqp://guest:guest@localhost:5672/%2f',
help='URL identifying the amqp server to talk to') help='URL identifying the amqp server to talk to')
arg_parser.add_argument('--exchange', dest='amqp_exchange', default='umbra',
help='AMQP exchange name')
arg_parser.add_argument('--queue', dest='amqp_queue', default='urls',
help='AMQP queue to consume urls from')
arg_parser.add_argument('--routing-key', dest='amqp_routing_key', default='url',
help='AMQP routing key to bind to the AMQP queue')
arg_parser.add_argument('-n', '--max-browsers', dest='max_browsers', default='3', arg_parser.add_argument('-n', '--max-browsers', dest='max_browsers', default='3',
help='Max number of chrome instances simultaneously browsing pages') help='Max number of chrome instances simultaneously browsing pages')
arg_parser.add_argument('-v', '--verbose', dest='log_level',
action="store_const", default=logging.INFO, const=logging.DEBUG)
args = arg_parser.parse_args(args=sys.argv[1:]) args = arg_parser.parse_args(args=sys.argv[1:])
logging.basicConfig(stream=sys.stdout, level=args.log_level,
format='%(asctime)s %(process)d %(levelname)s %(threadName)s %(name)s.%(funcName)s(%(filename)s:%(lineno)d) %(message)s')
controller = umbra.controller.AmqpBrowserController(args.amqp_url, controller = umbra.controller.AmqpBrowserController(args.amqp_url,
args.chrome_exe, args.browser_wait, args.chrome_exe, args.browser_wait,
max_active_browsers=int(args.max_browsers)) max_active_browsers=int(args.max_browsers),
exchange_name=args.amqp_exchange, queue_name=args.amqp_queue,
routing_key=args.amqp_routing_key)
try: try:
while True: while True:
time.sleep(0.5) time.sleep(0.5)