o
    ÙKÕi2  ã                   @   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
def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	y#   Y d S w t |¡}|j
|j
krTt  d||¡ t ¡  tƒ  tjj|j|jd�}|rMt|ƒ t  |¡ d S d S )NzValidating release serieszDDetaching due to current series %s being higher than only_series: %s)ÚreleaseÚseries_codename)ÚLOGÚdebugr   Úis_attachedr   Úget_release_infoÚseriesÚget_distro_infor   ÚMissingSeriesInDistroInfoFileÚeolr   Úclear_lock_file_if_presentr   r   ÚPRO_ONLY_ALLOWED_FOR_RELEASEÚformatr   r   ÚprintÚwarning)r
   Úonly_seriesÚshow_messageÚcurrent_seriesÚallowed_releaseÚcurrent_releaseÚmessage© r    ú?/usr/lib/python3/dist-packages/uaclient/update_contract_info.pyÚvalidate_release_series   s4   


ý
ýþòr"   )F)ÚloggingÚuaclientr   r   r   r   r   Úuaclient.api.u.pro.detach.v1r   Ú(uaclient.api.u.pro.status.is_attached.v1r   Úuaclient.configr	   Ú	getLoggerÚreplace_top_level_logger_nameÚ__name__r   r"   r    r    r    r!   Ú<module>   s    