def from_dict(addr_dict, category=None): if not addr_dict: return None addr = Address() # Shortcut if only a string is passed as a parameter if not isinstance(addr_dict, dict): addr.address_value = String.from_dict(addr_dict) addr.category = category return addr if 'category' in addr_dict: addr.category = addr_dict['category'] if 'is_destination' in addr_dict: addr.is_destination = addr_dict['is_destination'] if 'is_source' in addr_dict: addr.is_source = addr_dict['is_source'] if 'address_value' in addr_dict: addr.address_value = String.from_dict(addr_dict['address_value']) if 'ext_category' in addr_dict: addr.ext_category = String.from_dict(addr_dict['ext_category']) if 'vlan_name' in addr_dict: addr.vlan_name = String.from_dict(addr_dict['vlan_name']) if 'vlan_number' in addr_dict: addr.vlan_number = Integer.from_dict(addr_dict['vlan_number']) return addr