def __setattr__()

in footmark/ecs/instance.py [0:0]


    def __setattr__(self, name, value):
        if name == 'status':
            value = value.lower()
        # instance public ip contains public_ip_address and eip_address
        if name in ('public_ip_address', 'inner_ip_address'):
            if isinstance(value, dict):
                if value['ip_address']:
                    value = value['ip_address'][0]
                else:
                    value = ""
            if name == 'public_ip_address' and not value:
                eip = getattr(self, 'eip_address', None)
                if eip and eip["ip_address"]:
                    value = eip["ip_address"]
        if name == 'tags' and value:
            v = {}
            for tag in value['tag']:
                if tag.get('tag_key'):
                    v[tag.get('tag_key')] = tag.get('tag_value', None)
            value = v
        super(TaggedECSObject, self).__setattr__(name, value)