Current File : //usr/share/netplan/netplan_cli/cli/__pycache__/utils.cpython-312.pyc |
�
Z9
g�1 � �� � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z ddl
mZ d dlm
Z
mZ dZdZdZd Zd
ddd
d dddd�ZeeefZd� Zd� Zd� Zdedefd�Zd� Zd� Zdedefd�Zdeddfd�Zd7d�Z d7ded ed!e!fd"�Z"d#� Z#d$� Z$d%� Z%d&� Z&d'� Z'd(� Z(d)� Z)d*� Z*d7d+�Z+dede e fd,�Z,dede e fd-�Z-dee fd.�Z.dede e fd/�Z/d0efd1�Z0d2ede!fd3�Z1de2fd4�Z3 G d5� d6ejh � Z5y)8� N)�Optional� )�ConfigurationError)�
NetDefinition�NetplanExceptionzNetworkManager.servicez+snap.network-manager.networkmanager.servicez/etc/iproute2/rt_tablesz/usr/share/iproute2/rt_tables�unspec�default�main�local� � � )r r r
r r r r
r c �B � t j j dd� S )N�NETPLAN_GENERATE_PATHz/usr/libexec/netplan/generate)�os�environ�get� � �+/usr/share/netplan/netplan_cli/cli/utils.py�get_generator_pathr + s � �
�:�:�>�>�1�3R�S�Sr c �b � t j dddt gt j �� dk( S )N� systemctl�--quiet�
is-enabled)�stderrr )�
subprocess�call�NM_SNAP_SERVICE_NAME�DEVNULLr r r �is_nm_snap_enabledr! / s* � ��?�?�K��L�BV�W�`j�`r�`r�s�wx�x�xr c �t � t j dg| z t j t j �� y )N�nmcli��stdoutr �r �
check_callr ��argss r r# r# 3 s) � � ���7�)�d�*�:�3E�3E�j�N`�N`�ar r) �returnc �8 � t j dg| z d�� S )Nr# T��text)r �check_outputr( s r � nmcli_outr/ 9 s � � �"�"�G�9�t�#3�$�?�?r c �\ � t dg� y# t t j f$ r Y yw xY w)z"Check if NetworkManager is running�generalTF)r# �OSErrorr �SubprocessErrorr r r �
nm_runningr4 ? s1 � ��
�y�k�����Z�/�/�0� ���s � �+�+c
�F � t j d� }t � }| D ]p }t |d� 5 }|D ]T }|j |� }|s�|j t t
j ||j d� � � � n d d d � �r |S # 1 sw Y �~xY w)Nz^interface-name=(.*)$�r� ) �re�compile�set�open�match�update�fnmatch�filter�group)�paths�devices�pat�
interfaces�path�f�line�ms r �
nm_interfacesrI I s� � �
�*�*�,�
-�C���J�� ��
�$��_� ���
���I�I�d�O����%�%�c�'�.�.��!�'�'�!�*�*M�&N�O��
� � �� �� � �s �B�A B�B � interfacec � � t dddddd| g� }|j � j d� }|d }|d k7 r|S d
S )Nz-m�tabularz-fzGENERAL.CONNECTION�device�show�
r7 z--� )r/ �strip�split)rJ �output�lines�
connections r �nm_get_connection_for_interfacerV W sN � �
��i��/C�X�v�W`�a�
b�F��L�L�N� � ��&�E��q��J�#�t�+�:�3��3r rU c �T � t dd| g� y # t j $ r Y y w xY w)NrU �up)r# r �CalledProcessError)rU s r �nm_bring_interface_uprZ ^ s. � �
�
�|�T�:�.�/���(�(�
��
�s � �'�'c �^ � t � rt | t g|� S t | t g|� S �N)r! r r �NM_SERVICE_NAME)�action�syncs r �systemctl_network_managerr` e s/ � � ����"6�!7��>�>��V�o�.��5�5r r^ �servicesr_ c � � t |� dk\ r>d| g}|s|j d� |j |� t j |� y y )Nr7 r z
--no-block)�len�append�extendr r'