def _parse_values(self, values):
""" Parses values init arg. for responses with IPs fields.
Similar parser as parent, but takes str & unicode fields and
trys converting them to IPNetwork objects.
"""
for k, v in values.items():
if k != 'custom_fields':
if isinstance(v, dict):
lookup = getattr(self.__class__, k, None)
if lookup:
v = lookup(v, api_kwargs=self.api_kwargs)
else:
v = self.default_ret(v, api_kwargs=self.api_kwargs)
if isinstance(v, six.string_types):
try:
v = netaddr.IPNetwork(v)
except netaddr.AddrFormatError:
pass
self._add_cache((k, v))
else:
self._add_cache((k, v.copy()))
setattr(self, k, v)
评论列表
文章目录