
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
\me                 @   s&   d d Z dd Zdd Zd	ddZdS )
c             C   s   | | j  kstd| |f S )z6Return a udev comparison clause, like `ACTION=="add"`.z%s=="%s")upperAssertionError)keyvalue r   /usr/lib/python3.6/udev.pycompose_udev_equality   s    r   c             C   s   | | j  kstd| |f S )zBReturn a udev attribute comparison clause, like `ATTR{type}=="1"`.zATTR{%s}=="%s")lowerr   )Z	attributer   r   r   r   compose_udev_attr_equality   s    r	   c             C   s   | | j  kstd| |f S )z4Return a udev assignment clause, like `NAME="eth0"`.z%s="%s")r   r   )r   r   r   r   r   compose_udev_setting   s    r
   Nc             C   sB   |sd}dj tddtddtd|td|td	| g}d
| S )zReturn a udev rule to set the name of network interface with `mac`.

    The rule ends up as a single line looking something like:

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}="ff:ee:dd:cc:bb:aa", NAME="eth0"
    z?*z, Z	SUBSYSTEMZnetZACTIONaddZDRIVERSZaddressNAMEz%s
)joinr   r	   r
   )Z	interfaceZmacZdriverZruler   r   r   generate_udev_rule   s    r   )N)r   r	   r
   r   r   r   r   r   <module>   s   