-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2018 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
Parse arguments for traffic script. Default has two arguments '--tx_if'
and '--rx_if'. You can provide more arguments. All arguments have string
- representation of the value.
+ representation of the value. You can add also optional arguments. Default
+ value for optional arguments is empty string.
:param more_args: List of additional arguments (optional).
+ :param opt_args: List of optional arguments (optional).
:type more_args: list
+ :type opt_args: list
:Example:
>>> args = TrafficScriptArg(['src_mac', 'dst_mac', 'src_ip', 'dst_ip'])
"""
- def __init__(self, more_args=None):
+ def __init__(self, more_args=None, opt_args=None):
parser = argparse.ArgumentParser()
parser.add_argument("--tx_if", help="interface that sends traffic")
parser.add_argument("--rx_if", help="interface that receives traffic")
arg_name = '--{0}'.format(arg)
parser.add_argument(arg_name)
+ if opt_args is not None:
+ for arg in opt_args:
+ arg_name = '--{0}'.format(arg)
+ parser.add_argument(arg_name, nargs='?', default='')
+
self._parser = parser
self._args = vars(parser.parse_args())
:param arg_name: Argument name.
:type arg_name: str
- :return: Argument value.
+ :returns: Argument value.
:rtype: str
"""
arg_val = self._args.get(arg_name)