509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
\¼me”  ã               @   sb   d dl Z d dlZd dlmZ d dlmZ d dlmZ dd„ Zdd„ Z	ed	ƒZ
G d
d„ de jƒZdS )é    N)ÚOptional)ÚNetworkState)Úgenerate_udev_rulec                s   ‡ fdd„S )Nc                s   ˆ | d kS )NÚtype© )Úiface)Ú
match_typer   ú/usr/lib/python3.6/renderer.pyÚ<lambda>   s    z filter_by_type.<locals>.<lambda>r   )r   r   )r   r	   Úfilter_by_type   s    r   c                s   ‡ fdd„S )Nc                s   ˆ | ko| ˆ  S )Nr   )r   )Ú
match_namer   r	   r
      s    z filter_by_attr.<locals>.<lambda>r   )r   r   )r   r	   Úfilter_by_attr   s    r   Zphysicalc               @   sF   e Zd Zd
dd„Zeedœdd„ƒZejdee	e
 ddœdd	„ƒZdS )ÚRendererNc             C   s   d S )Nr   )ÚselfÚconfigr   r   r	   Ú__init__   s    zRenderer.__init__)Únetwork_statec             C   s^   t jƒ }xL| jtƒD ]>}d|kr|jdƒr|jddƒ}|jt|d |d |d�ƒ qW |jƒ S )z2Given state, emit udev rules to map mac to ifname.ÚnameZmac_addressÚdriverN)r   )ÚioÚStringIOZiter_interfacesÚfilter_by_physicalÚgetÚwriter   Úgetvalue)r   Zcontentr   r   r   r   r	   Ú_render_persistent_net   s    zRenderer._render_persistent_net)r   Ú	templatesÚreturnc             C   s   dS )zRender network state.Nr   )r   r   r   Útargetr   r   r	   Úrender_network_state0   s    zRenderer.render_network_state)N)NN)Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   r   ÚabcÚabstractmethodr   Údictr   r   r   r   r	   r      s   
 
r   )r$   r   Ztypingr   Zcloudinit.net.network_stater   Zcloudinit.net.udevr   r   r   r   ÚABCr   r   r   r   r	   Ú<module>   s   