HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/landscape/sysinfo/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/landscape/sysinfo/__pycache__/network.cpython-312.pyc
�

�~�e��`�ddlmZddlmZddlmZddlmZddlmZddl	m
Z
Gd�d�Zy	)
�)�partial)�
itemgetter)�AF_INET)�AF_INET6)�succeed)�get_active_device_infoc�$�eZdZdZdd�Zd�Zd�Zy)�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�:�|�ttdd��}||_y)NT)�extended�default_only)rr�_get_device_info)�self�get_device_infos  �;/usr/lib/python3/dist-packages/landscape/sysinfo/network.py�__init__zNetwork.__init__s%���"�%�&��!��O�
!0���c��||_y)zeRegister this plugin with the sysinfo system.

        @param sysinfo: The sysinfo registry.
        N)�_sysinfo)r�sysinfos  r�registerzNetwork.registers��
 ��
rc��|j�}t|td���D]�}|d}|djtg�}|djt
g�}|D]$}|jjd|��|d��&|D]$}|jjd|��|d��&��td�S)z�
        Gather information about network interfaces and write it to the
        sysinfo output.

        @return: A succeeded C{Deferred}.
        �	interface)�key�ip_addresseszIPv4 address for �addrzIPv6 address for N)	r�sortedr�getrrr�
add_headerr)r�device_info�infor�ipv4_addresses�ipv6_addressesrs       r�runzNetwork.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__rrr$�rrr
r
s���0� �rr
N)�	functoolsr�operatorr�	netifacesrr�twisted.internet.deferr�landscape.lib.networkrr
r)rr�<module>r/s!������*�8�.�.r