Source code for jps.args

import argparse
from .env import get_master_host
from .common import DEFAULT_PUB_PORT
from .common import DEFAULT_SUB_PORT
from .common import DEFAULT_RES_PORT
from .common import DEFAULT_REQ_PORT


[docs]class ArgumentParser(argparse.ArgumentParser): ''' Create ArgumentParser with args (host/subscriber_port/publisher_port) Example: >>> parser = jps.ArgumentParser(description='my program') >>> args = parser.parse_args() >>> args.host 'localhost' >>> args.subscriber_port 54321 >>> args.publisher_port 54320 :param subscriber add subscriber_port (default: True) :param publisher add publisher_port (default: True) ''' def __init__(self, subscriber=True, publisher=True, service=False, *args, **kwargs): super(ArgumentParser, self).__init__(*args, **kwargs) self.add_argument( '--host', type=str, help='fowarder host', default=get_master_host()) self.add_argument( '--prefix', type=str, help='add prefix for topics', default='') if subscriber: self.add_argument('--subscriber_port', type=int, help='subscriber port', default=DEFAULT_SUB_PORT) if publisher: self.add_argument( '--publisher_port', type=int, help='publisher port', default=DEFAULT_PUB_PORT) if service: self.add_argument( '--request_port', type=int, help='request port', default=DEFAULT_REQ_PORT) self.add_argument( '--response_port', type=int, help='response port', default=DEFAULT_RES_PORT)