HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/landscape/sysinfo/__pycache__/network.cpython-38.pyc
U

���c��@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 |dkrttddd�}||_dS)NT)ZextendedZdefault_only)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