def netmiko_args(optional_args):
    """Check for Netmiko arguments that were passed in as NAPALM optional arguments.

    Return a dictionary of these optional args  that will be passed into the Netmiko
    ConnectHandler call.
    """
    fields = py23_compat.argspec(BaseConnection.__init__)
    args = fields[0]
    defaults = fields[3]

    check_self = args.pop(0)
    if check_self != "self":
        raise ValueError("Error processing Netmiko arguments")

    netmiko_argument_map = dict(zip(args, defaults))

    # Netmiko arguments that are integrated into NAPALM already
    netmiko_filter = ["ip", "host", "username", "password", "device_type", "timeout"]

    # Filter out all of the arguments that are integrated into NAPALM
    for k in netmiko_filter:
        netmiko_argument_map.pop(k)

    # Check if any of these arguments were passed in as NAPALM optional_args
    netmiko_optional_args = {}
    for k, v in netmiko_argument_map.items():
        try:
            netmiko_optional_args[k] = optional_args[k]
        except KeyError:
            pass

    # Return these arguments for use with establishing Netmiko SSH connection
    return netmiko_optional_args
def netmiko_args ( optional_args ) : fields = py23_compat . argspec ( BaseConnection . __init__ ) args = fields [ 0 ] defaults = fields [ 3 ] check_self = args . pop ( 0 ) if check_self != "self" : raise ValueError ( "Error processing Netmiko arguments" ) netmiko_argument_map = dict ( zip ( args , defaults ) ) netmiko_filter = [ "ip" , "host" , "username" , "password" , "device_type" , "timeout" ] for k in netmiko_filter : netmiko_argument_map . pop ( k ) netmiko_optional_args = { } for k , v in netmiko_argument_map . items ( ) : try : netmiko_optional_args [ k ] = optional_args [ k ] except KeyError : pass return netmiko_optional_args
Check for Netmiko arguments that were passed in as NAPALM optional arguments.

    Return a dictionary of these optional args  that will be passed into the Netmiko
    ConnectHandler call.