o
    >Vb                     @   s$   d dl mZmZ G dd deZdS )   )
XMLBuilderXMLPropertyc                   @   sp   e Zd ZdZdZdZdZdZdZdZ	dZ
g d	Zd
d ZedZedZedZedZedddZdd ZdS )DomainSeclabelz-
    Class for generating <seclabel> XML
    dynamicstatictestSecurityselinuxdacnoneseclabel)typemodelrelabellabelc                 C   s|   dd | j jjjD }| j|v r| jS | js|r|d pd S d }| jr.tdt| jd}|dkr5| j	S |dkr<| j
S d S )Nc                 S   s   g | ]}|j qS  )r   ).0xr   r   3/usr/share/virt-manager/virtinst/domain/seclabel.py
<listcomp>   s    z2DomainSeclabel._guess_secmodel.<locals>.<listcomp>       :r   )conncapshost	secmodels
MODEL_TESTr   minlensplitMODEL_SELINUX	MODEL_DAC)selfcaps_modelslab_lenr   r   r   _guess_secmodel   s   
zDomainSeclabel._guess_secmodelz./@modelz./@typez./labelz./baselabelz
./@relabelT)is_yesnoc                 C   s>   | j s| jsd S | j d u r| j| _ | jd u r|  | _d S d S )N)r   r   TYPE_DYNAMICr%   )r"   _guestr   r   r   set_defaults7   s   

zDomainSeclabel.set_defaultsN)__name__
__module____qualname____doc__r'   TYPE_STATICr   r    r!   
MODEL_NONEXML_NAME_XML_PROP_ORDERr%   r   r   r   r   	baselabelr   r)   r   r   r   r   r   
   s"    r   N)
xmlbuilderr   r   r   r   r   r   r   <module>   s   