Skip to content
Snippets Groups Projects
Unverified Commit 22059072 authored by Sergio Oliveira Campos's avatar Sergio Oliveira Campos
Browse files

Fixed a bug in AnsibleFreeIPAParams

When accessing an instance of AnsibleFreeIPAParams with .get the obj was
by-passing the call to _afm_convert which was the primaty reason why it
was created.

Also the class now extends Mapping instead of dict.
parent d7af454d
No related branches found
No related tags found
No related merge requests found
......@@ -52,6 +52,11 @@ import socket
import base64
import six
try:
from collections.abc import Mapping # noqa
except ImportError:
from collections import Mapping # noqa
if six.PY3:
unicode = str
......@@ -351,19 +356,28 @@ def is_ipv6_addr(ipaddr):
return True
class AnsibleFreeIPAParams(dict):
class AnsibleFreeIPAParams(Mapping):
def __init__(self, ansible_module):
self.update(ansible_module.params)
self.mapping = ansible_module.params
self.ansible_module = ansible_module
def __getitem__(self, key):
param = self.mapping[key]
if param is not None:
return _afm_convert(param)
def __iter__(self):
return iter(self.mapping)
def __len__(self):
return len(self.mapping)
@property
def names(self):
return self.name
def __getattr__(self, name):
param = self.get(name)
if param is not None:
return _afm_convert(param)
return self.get(name)
class FreeIPABaseModule(AnsibleModule):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment