3 �<�e� �@s$ddlZddlZGdd�de�ZdS)�Nc @sPeZdZdZdddddddd d d d d g Zdd�Zedd��Zedd��Zej dd��Zedd��Z e j dd��Z edd��Z edd��Z e j dd��Z edd��Z e j dd��Z ed d!��Zej d"d!��Zed#d$��Zej d%d$��Zed&d'��Zej d(d'��Zed)d*��Zej d+d*��Zed,d-��Zej d.d-��Zed/d0��Zej d1d0��Zd2S)3�Unitz Unit description. �_name�_type�_enabled�_replace�_drop�_devices�_devices_udev_regex�_cpuinfo_regex� _uname_regex� _script_pre� _script_post�_optionscCs�||_|jd|j�|_|jdd�dk|_|jdd �dk|_|jd d�|_|jdk rftjd t|j��|_|jd d �|_ |jdd�|_ |jdd�|_ |jdd�|_ |jdd�|_ |jdd�|_tj|�|_dS)N�type�enabledT�True�true��1�replaceF�dropz \b\s*[,;]\s*�devices�*�devices_udev_regex� cpuinfo_regex� uname_regex� script_pre� script_post)Trrrr)Trrrr)r�poprrrr�re�split�strrr r r r r � collections� OrderedDictr)�self�name�config�r'�/usr/lib/python3.6/unit.py�__init__ s z Unit.__init__cCs|jS)N)r)r$r'r'r(r%sz Unit.namecCs|jS)N)r)r$r'r'r(r sz Unit.typecCs ||_dS)N)r)r$�valuer'r'r(r$scCs|jS)N)r)r$r'r'r(r(sz Unit.enabledcCs ||_dS)N)r)r$r*r'r'r(r,scCs|jS)N)r)r$r'r'r(r0sz Unit.replacecCs|jS)N)r)r$r'r'r(r4sz Unit.dropcCs ||_dS)N)r)r$r*r'r'r(r8scCs|jS)N)r)r$r'r'r(r<sz Unit.devicescCs ||_dS)N)r)r$r*r'r'r(r@scCs|jS)N)r )r$r'r'r(rDszUnit.devices_udev_regexcCs ||_dS)N)r )r$r*r'r'r(rHscCs|jS)N)r )r$r'r'r(rLszUnit.cpuinfo_regexcCs ||_dS)N)r )r$r*r'r'r(rPscCs|jS)N)r )r$r'r'r(rTszUnit.uname_regexcCs ||_dS)N)r )r$r*r'r'r(rXscCs|jS)N)r )r$r'r'r(r\szUnit.script_precCs ||_dS)N)r )r$r*r'r'r(r`scCs|jS)N)r )r$r'r'r(rdszUnit.script_postcCs ||_dS)N)r )r$r*r'r'r(rhscCs|jS)N)r)r$r'r'r(�optionslsz Unit.optionscCs ||_dS)N)r)r$r*r'r'r(r+psN)�__name__� __module__� __qualname__�__doc__� __slots__r)�propertyr%r�setterrrrrrrrrrr+r'r'r'r(rs4            r)r"r�objectrr'r'r'r(�s