~e`ddlmZddlmZddlmZddlmZddlmZddl m Z GddZ y ) )partial) itemgetter)AF_INET)AF_INET6)succeed)get_active_device_infoc$eZdZdZddZdZdZy)NetworkzShow 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)selfget_device_infos ;/usr/lib/python3/dist-packages/landscape/sysinfo/network.py__init__zNetwork.__init__s%  "%&!O !0c||_y)zeRegister this plugin with the sysinfo system. @param sysinfo: The sysinfo registry. N)_sysinfo)rsysinfos rregisterzNetwork.registers   rc|j}t|tdD]}|d}|djtg}|djt g}|D]$}|j jd||d&|D]$}|j jd||d&tdS)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) rsortedrgetrrr add_headerr)r device_infoinforipv4_addressesipv6_addressesrs rrunz Network.run"s++- ;J{,CD D[)I!.155grBN!.155hCN&  ((' {3L  '  ((' {3L  t}r)N)__name__ __module__ __qualname____doc__rrr$rrr r s 0 rr N) functoolsroperatorr netifacesrrtwisted.internet.deferrlandscape.lib.networkrr r)rrr/s!*8..r