3 \¼me‹ã@s&dd„Zdd„Zdd„Zd dd„ZdS) cCs d||fS)z6Return a udev comparison clause, like `ACTION=="add"`.z%s=="%s"©)ÚkeyÚvaluerrú/usr/lib/python3.6/udev.pyÚcompose_udev_equalitysrcCs d||fS)zBReturn a udev attribute comparison clause, like `ATTR{type}=="1"`.zATTR{%s}=="%s"r)Z attributerrrrÚcompose_udev_attr_equalitysrcCs d||fS)z4Return a udev assignment clause, like `NAME="eth0"`.z%s="%s"r)rrrrrÚcompose_udev_settingsrNcCsB|sd}djtddƒtddƒtd|ƒtd|ƒtd |ƒgƒ}d |S) zïReturn 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 SUBSYSTEMZnetZACTIONÚaddZDRIVERSZaddressÚNAMEz%s )Újoinrrr)Z interfaceZmacZdriverZrulerrrÚgenerate_udev_rulesr )N)rrrr rrrrÚs