@staticmethod
def _merge_addr(host1: dict, host2: dict):
    """
        Merge host1 and host2 by preferring host2
        :param host1: {
                        'mac': <mac_addr>,
                        'mac_manufacturer': tuple,
                        'ip': <ip_addr>,
                        'ip_host': list
                      }
        :param host2: //
        :return: The host1 merged with host2
        """
    if host1 is None:
        return host2
    if host2 is None:
        return host1
    host = host2.copy()
    for key, val in host2.items():
        if val is not None:
            continue
        host[key] = host1.get(key)
    ip = host.get('ip')
    ip_host = host.get('ip_host')
    mac = host.get('mac')
    mac_manufacturer = host.get('mac_manufacturer')
    if ip is not None:
        host['label'] = ip
        host['title'] = ip_host
    elif mac_manufacturer is None:
        host['label'] = mac
    else:
        host['label'] = mac_manufacturer
        host['title'] = mac
    return host
