1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

bug fix for AttributeError: 'str' object has no attribute 'get'

Exception thrown when using cli transport in eos but piping the command
through json

* eos now checks for `| json` and automatically changes the output type
* adds back import of Command object

tested on EOS 4.15.4F
This commit is contained in:
Peter Sprygada 2016-09-06 15:33:55 -04:00
parent 37f721f315
commit 7fe64ef9b8

View file

@ -31,6 +31,7 @@ import re
from ansible.module_utils.basic import json
from ansible.module_utils.network import ModuleStub, NetworkError, NetworkModule
from ansible.module_utils.network import add_argument, register_transport, to_list
from ansible.module_utils.netcli import Command
from ansible.module_utils.shell import CliBase
from ansible.module_utils.urls import fetch_url, url_argument_spec
@ -307,9 +308,12 @@ def prepare_commands(commands):
:returns: list of dict objects
"""
jsonify = lambda x: '%s | json' % x
for cmd in to_list(commands):
if cmd.output == 'json':
for item in to_list(commands):
if item.output == 'json':
cmd = jsonify(cmd)
elif item.command.endswith('| json'):
item.output = 'json'
cmd = str(item)
else:
cmd = str(cmd)
cmd = str(item)
yield cmd