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: //usr/share/netplan/netplan/cli/commands/__pycache__/ip.cpython-38.pyc
U

��~f�@s�dZddlZddlZddlZddlZddlmZddlmmZddd�ddd�d	�Z	Gd
d�dej
�ZGdd
�d
ej
�ZdS)znetplan ip command line�N)�CalledProcessErrorz#run/systemd/netif/leases/{lease_id}�ifindex)�pattern�methodz<var/lib/NetworkManager/dhclient-{lease_id}-{interface}.leaseZ
nm_connection)Znetworkd�NetworkManagercs$eZdZ�fdd�Zdd�Z�ZS)�	NetplanIpcst�jdddd�dS)N�ipz'Retrieve IP information from the systemF��
command_id�description�leaf��super�__init__��self��	__class__��-/usr/share/netplan/netplan/cli/commands/ip.pyr*s�zNetplanIp.__init__cCsBt�|_|jjdddd�}|j|jj|jd�|��|��dS)NZleases�Display IP leasesF)�help�add_help)�func�commandclass)�NetplanIpLeasesZcommand_leases�
subparsers�
add_parser�set_defaults�run�
parse_args�run_command)rZp_ip_leasesrrrr/s�z
NetplanIp.run)�__name__�
__module__�__qualname__rr�
__classcell__rrrrr(srcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)rcst�jdddd�dS)Nz	ip leasesrTr	r
rrrrr>s�zNetplanIpLeases.__init__cCs<|jjddd�|jjddd�|j|_|��|��dS)N�	interfacez1Interface for which to display IP lease settings.)r�
--root-dirzBSearch for configuration files in this root directory instead of /)�parser�add_argument�command_ip_leasesrr r!rrrrrCs��zNetplanIpLeases.runc	s��jdkr����fdd�}t��g}�jr<|d�jg7}|d�jg7}t�d|�ztj|dd�}Wnt	k
r�t
�d	�YnXi}|�d
�}|D]}|�
��d�\}}|||<q�||�dS)Nrc	
s��fdd�}�fdd�}t|dd}t|dd}zltd|��}ttj�d	�jrftj��j�nd
|j�j	|d���� }|�
�D]}t|���q�W5QRXWnHt
k
r�}z*td�j	t|�ftjd
�t�d�W5d}~XYnXdS)Nc
s�tj�d�jd�}z2t|�� }|��d��W5QR�WSQRXWn6tk
rz}zt�	d|t
|���W5d}~XYnXdS)Nz/sys/class/netrrzCannot read file %s: %s)�os�path�joinr&�open�	readlines�strip�	Exception�logging�debug�str)Z	ifindex_f�f�errr�lease_method_ifindexTs
(zXNetplanIpLeases.command_ip_leases.<locals>.find_lease_file.<locals>.lease_method_ifindexc
s�z�t�dd�jg�}|��D]j}d|kr|�d�d����}t�ddd|g�}|��D],}d|krX|�d�d����WSqXqWn2tk
r�}ztd	t|���W5d}~XYnXtd
��dS)N�devZshowzGENERAL.CONNECTION�:�Zcon�idzconnection.uuidz@Could not find a NetworkManager connection for the interface: %sz<Could not find a NetworkManager connection for the interface)	�utils�	nmcli_outr&�
splitlines�split�rstripr0r1r4)Z
nmcli_dev_out�lineZconn_idZ
nmcli_con_outr6rrr�lease_method_nm_connection]s("z^NetplanIpLeases.command_ip_leases.<locals>.find_lease_file.<locals>.lease_method_nm_connectionZbackendrrZ
lease_method_�/�)r&�lease_idz%No lease found for interface '%s': %s)�filer:)�
lease_path�evalr.r+r,r-�root_dir�abspath�formatr&r/�printr@r1r4�sys�stderr�exit)	�mappingr7rBZ
lease_patternZlease_methodrEr5rAr6rrr�find_lease_fileSs(	
���z:NetplanIpLeases.command_ip_leases.<locals>.find_lease_filer'z	--mappingzcommand ip leases: running %sT)�universal_newlinesr:�,�=)r&�print_usager<�get_generator_pathrIr2r3�
subprocess�check_outputrrMrOr?r0)	rrQ�argv�outrPZ	mapping_sZkeyvalue�key�valuerrrr*Ns$
/


z!NetplanIpLeases.command_ip_leases)r"r#r$rrr*r%rrrrr<sr)
�__doc__r2r+rMrWr�netplan.cli.utils�clir<rG�NetplanCommandrrrrrr�<module>s���