3 \¼me‹ã@s&dd„Zdd„Zdd„Zd dd„ZdS) cCs||jƒkst‚d||fS)z6Return a udev comparison clause, like `ACTION=="add"`.z%s=="%s")ÚupperÚAssertionError)ÚkeyÚvalue©rú/usr/lib/python3.6/udev.pyÚcompose_udev_equalitysrcCs||jƒkst‚d||fS)zBReturn a udev attribute comparison clause, like `ATTR{type}=="1"`.zATTR{%s}=="%s")Úlowerr)Z attributerrrrÚcompose_udev_attr_equalitysr cCs||jƒkst‚d||fS)z4Return a udev assignment clause, like `NAME="eth0"`.z%s="%s")rr)rrrrrÚcompose_udev_settingsr NcCsB|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 )Újoinrr r )Z interfaceZmacZdriverZrulerrrÚgenerate_udev_rulesr)N)rr r rrrrrÚs