Your IP : 216.73.217.13


Current Path : /lib/python3/dist-packages/landscape/sysinfo/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/landscape/sysinfo/__pycache__/network.cpython-38.pyc

U

y)�]k�@sTddlmZddlmZddlmZmZddlmZddl	m
Z
Gdd�de�ZdS)	�)�partial)�
itemgetter)�AF_INET�AF_INET6)�succeed)�get_active_device_infoc@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�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}.
    NcCs|dkrttdd�}||_dS)NT)Zextended)rr�_get_device_info)�selfZget_device_info�r�;/usr/lib/python3/dist-packages/landscape/sysinfo/network.py�__init__szNetwork.__init__cCs
||_dS)zeRegister this plugin with the sysinfo system.

        @param sysinfo: The sysinfo registry.
        N)�_sysinfo)r
Zsysinforrr�registerszNetwork.registercCs�|��}t|td�d�D]l}|d}|d�tg�}|d�tg�}|D]}|j�d||d�qH|D]}|j�d||d�qhqtd�S)z�
        Gather information about network interfaces and write it to the
        sysinfo output.

        @return: A succeeded C{Deferred}.
        �	interface)�keyZip_addresseszIPv4 address for %s�addrzIPv6 address for %sN)	r	�sortedr�getrrrZ
add_headerr)r
Zdevice_info�inforZipv4_addressesZipv6_addressesrrrr�runs ��zNetwork.run)N)�__name__�
__module__�__qualname__�__doc__r
rrrrrrr
s
rN)
�	functoolsr�operatorrZ	netifacesrrZtwisted.internet.deferrZlandscape.lib.networkr�objectrrrrr�<module>s