File: //usr/share/netplan/netplan_cli/cli/__pycache__/utils.cpython-310.pyc
o
t��f�) � @ sd d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddlm Z d dl
mZmZ dZ
dZe eefZdd� Zd d
� Zdd� Zd
edefdd�Zdd� Zdd� Zdedefdd�Zdeddfdd�Zd<dd�Zd<deded efd!d"�Zd#d$� Zd%d&� Zd'd(� Z d)d*� Z!d+d,� Z"d-d.� Z#d/d0� Z$d1d2� Z%d<d3d4�Z&d5d6� Z'd7efd8d9�Z(G d:d;� d;ej)�Z*dS )=� N� )�ConfigurationError)�
NetDefinition�NetplanExceptionzNetworkManager.servicez+snap.network-manager.networkmanager.servicec C s t j�dd�S )N�NETPLAN_GENERATE_PATHz/usr/libexec/netplan/generate)�os�environ�get� r
r
�+/usr/share/netplan/netplan_cli/cli/utils.py�get_generator_path% s r c C s t jdddtgt jd�dkS )N� systemctl�--quiet�
is-enabled)�stderrr )�
subprocess�call�NM_SNAP_SERVICE_NAME�DEVNULLr
r
r
r �is_nm_snap_enabled) s r c C s t jdg| t jt jd� d S )N�nmcli��stdoutr �r �
check_callr ��argsr
r
r r - s r r �returnc C s t jdg| dd�S )Nr T��text)r �check_outputr r
r
r � nmcli_out3 s r! c C s, zt dg� W dS ttjfy Y dS w )z"Check if NetworkManager is running�generalTF)r �OSErrorr �SubprocessErrorr
r
r
r �
nm_running9 s
�r% c C s� t �d�}t� }| D ]3}t|d��$}|D ]}|�|�}|r-|�tt�||�d���� nqW d � n1 s8w Y q
|S )Nz^interface-name=(.*)$�r� ) �re�compile�set�open�match�update�fnmatch�filter�group)�paths�devices�pat�
interfaces�path�f�line�mr
r
r �
nm_interfacesC s
����r9 � interfacec C s<