Ë
    ¸~Þe  ã                   ó`   — d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
  G d„ d«      Zy	)
é    )Úpartial)Ú
itemgetter)ÚAF_INET)ÚAF_INET6)Úsucceed)Úget_active_device_infoc                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)ÚNetworkzÍShow information about active network interfaces.

    @param get_device_info: Optionally, a function that returns information
        about network interfaces.  Defaults to L{get_active_device_info}.
    Nc                 ó:   — |€t        t        dd¬«      }|| _        y )NT)ÚextendedÚdefault_only)r   r   Ú_get_device_info)ÚselfÚget_device_infos     ú;/usr/lib/python3/dist-packages/landscape/sysinfo/network.pyÚ__init__zNetwork.__init__   s%   € ØÐ"Ü%Ü&ØØ!ôˆOð
 !0ˆÕó    c                 ó   — || _         y)zeRegister this plugin with the sysinfo system.

        @param sysinfo: The sysinfo registry.
        N)Ú_sysinfo)r   Úsysinfos     r   ÚregisterzNetwork.register   s   € ð
  ˆ�r   c                 ó€  — | j                  «       }t        |t        d«      ¬«      D ]‹  }|d   }|d   j                  t        g «      }|d   j                  t
        g «      }|D ]$  }| j                  j                  d|› �|d   «       Œ& |D ]$  }| j                  j                  d|› �|d   «       Œ& Œ� t        d«      S )z”
        Gather information about network interfaces and write it to the
        sysinfo output.

        @return: A succeeded C{Deferred}.
        Ú	interface)ÚkeyÚip_addresseszIPv4 address for ÚaddrzIPv6 address for N)	r   Úsortedr   Úgetr   r   r   Ú
add_headerr   )r   Údevice_infoÚinfor   Úipv4_addressesÚipv6_addressesr   s          r   ÚrunzNetwork.run"   s×   € ð ×+Ñ+Ó-ˆÜ˜;¬J°{Ó,CÔDò 	ˆDØ˜[Ñ)ˆIØ! .Ñ1×5Ñ5´g¸rÓBˆNØ! .Ñ1×5Ñ5´hÀÓCˆNØ&ò �Ø—‘×(Ñ(Ø'¨	 {Ð3Ø˜‘Lõðð
 'ò �Ø—‘×(Ñ(Ø'¨	 {Ð3Ø˜‘Lõñð	ô �t‹}Ðr   )N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r$   © r   r   r
   r
      s   „ ñó0ò ór   r
   N)Ú	functoolsr   Úoperatorr   Ú	netifacesr   r   Útwisted.internet.deferr   Úlandscape.lib.networkr   r
   r)   r   r   ú<module>r/      s!   ðÝ Ý å Ý Ý *å 8÷.ò .r   