U
    Jh2                     @   sl   d dl Z d dlmZmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ e eeZd
eddd	ZdS )    N)
exceptionslockmessagessystemutil)detach)_is_attached)UAConfigF)cfgc                 C   s   t d t| jsd S t j}zt|}W n tj	k
rF   Y n^X t|}|j
|j
krt d|| t  t  tjj|j|jd}|rt| t | d S )NzValidating release serieszDDetaching due to current series %s being higher than only_series: %s)releaseseries_codename)LOGdebugr   Zis_attachedr   Zget_release_infoZseriesZget_distro_infor   ZMissingSeriesInDistroInfoFileZeolr   Zclear_lock_file_if_presentr   r   ZPRO_ONLY_ALLOWED_FOR_RELEASEformatr   r   printZwarning)r
   Zonly_seriesZshow_messageZcurrent_seriesZallowed_releaseZcurrent_releasemessage r   ?/usr/lib/python3/dist-packages/uaclient/update_contract_info.pyvalidate_release_series   s0    



r   )F)ZloggingZuaclientr   r   r   r   r   Zuaclient.api.u.pro.detach.v1r   Z(uaclient.api.u.pro.status.is_attached.v1r   Zuaclient.configr	   Z	getLoggerZreplace_top_level_logger_name__name__r   r   r   r   r   r   <module>   s   