# Buggy code
def get_interface_info_dot_net():
    """
    Uses .NET 4.0+ to gather Network Interface information. Should only run on
    Windows systems newer than Windows 7/Server 2008R2

    Returns:
        dict: A dictionary of information about all interfaces on the system
    """
    clr.AddReference("System.Net")
    interfaces = _get_network_interfaces()

    int_dict = {}
    for i_face in interfaces:
        int_dict[i_face.Name] = _get_base_properties(i_face)
        int_dict[i_face.Name].update(_get_ip_base_properties(i_face))
        int_dict[i_face.Name].update(_get_ip_unicast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_gateway_info(i_face))
        int_dict[i_face.Name].update(_get_ip_dns_info(i_face))
        int_dict[i_face.Name].update(_get_ip_multicast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_anycast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_wins_info(i_face))

    return int_dict


# Traceback (AttributeError)
test: [ERROR   ] An un-handled exception was caught by salt's global exception handler:
test: AttributeError: 'unicode' object has no attribute 'name'
test: Traceback (most recent call last):
test:   File "/bin/spm", line 12, in <module>
test:     salt_spm()
test:   File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 527, in salt_spm
test:     spm.run()
test:   File "/usr/lib/python2.7/site-packages/salt/cli/spm.py", line 41, in run
test:     client.run(self.args)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 125, in run
test:     self._install(args)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 379, in _install
test:     self._install_indv_pkg(package, out_file)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 532, in _install_indv_pkg
test:     self.files_conn)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 161, in _pkgfiles_fun
test:     return self.pkgfiles['{0}.{1}'.format(self.files_prov, func)](*args, **kwargs)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/pkgfiles/local.py", line 147, in install_file
test:     member.name = new_name.name.replace('{0}/'.format(package), '')
test: AttributeError: 'unicode' object has no attribute 'name'
test: Traceback (most recent call last):
test:   File "/bin/spm", line 12, in <module>
test:     salt_spm()
test:   File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 527, in salt_spm
test:     spm.run()
test:   File "/usr/lib/python2.7/site-packages/salt/cli/spm.py", line 41, in run
test:     client.run(self.args)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 125, in run
test:     self._install(args)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 379, in _install
test:     self._install_indv_pkg(package, out_file)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 532, in _install_indv_pkg
test:     self.files_conn)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/__init__.py", line 161, in _pkgfiles_fun
test:     return self.pkgfiles['{0}.{1}'.format(self.files_prov, func)](*args, **kwargs)
test:   File "/usr/lib/python2.7/site-packages/salt/spm/pkgfiles/local.py", line 147, in install_file
test:     member.name = new_name.name.replace('{0}/'.format(package), '')
test: AttributeError: 'unicode' object has no attribute 'name'

# Fixed code
def get_interface_info_dot_net():
    """
    Uses .NET 4.0+ to gather Network Interface information. Should only run on
    Windows systems newer than Windows 7/Server 2008R2

    Returns:
        dict: A dictionary of information about all interfaces on the system
    """
    interfaces = _get_network_interfaces()

    int_dict = {}
    for i_face in interfaces:
        int_dict[i_face.Name] = _get_base_properties(i_face)
        int_dict[i_face.Name].update(_get_ip_base_properties(i_face))
        int_dict[i_face.Name].update(_get_ip_unicast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_gateway_info(i_face))
        int_dict[i_face.Name].update(_get_ip_dns_info(i_face))
        int_dict[i_face.Name].update(_get_ip_multicast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_anycast_info(i_face))
        int_dict[i_face.Name].update(_get_ip_wins_info(i_face))

    return int_dict