示例#1
0
    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