
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
Ö;j‰  ã               @   sj   d dl Z ddlmZmZ ddlmZ dZdZdZdd	„ Z	d
d„ Z
dd„ Zejdd„ ƒZdd„ Zdd„ ZdS )é    Né   )ÚerrorsÚutils)Újson_loads_nstrz/etc/sysconfig/kcare/systemidz&/etc/sysconfig/kcare/systemid.almacarez/var/imunify360/license.jsonc              C   sp   t jjtƒsd S ttdƒ�L} xD| D ]<}|jdƒ\}}}|jƒ dkrJ|jƒ S tjdj	tƒdd�‚q"W W d Q R X d S )NÚrú=Ú	server_idzUnable to parse {0}.zserver id parse error)Ústatus)
ÚosÚpathÚexistsÚSYSTEMIDÚopenÚ	partitionÚstripr   Ú
KcareErrorÚformat)ÚfdÚlineÚparamÚ_Úvalue© r   ú./usr/libexec/kcare/python/kcarectl/serverid.pyÚ	_systemid   s    
"r   c           	   C   s2   t jjtƒsd S ttdƒ�} | jƒ jƒ S Q R X d S )Nr   )r
   r   r   ÚALMA_SYSTEMIDr   Úreadliner   )Úfr   r   r   Ú_alma_systemid!   s    r   c              C   s`   t jjtƒsd S i } ttƒ�4}|jƒ }|rLyt|ƒ} W n tk
rJ   Y nX W d Q R X | jdƒS )NÚid)	r
   r   r   ÚIM360_LICENSE_FILEr   Úreadr   Ú	ExceptionÚget)Údatar   Úcontentr   r   r   Ú_im360_systemid)   s    
r&   c               C   s   t ƒ ptƒ ptƒ S )zqGet server_id or None if not present.

    Lookup order: SYSTEMID then IM360_LICENSE_FILE then ALMA_SYSTEMID
    )r   r&   r   r   r   r   r   Úget_serverid9   s    r'   c               C   s   t jtƒ d S )N)r
   Úunlinkr   r   r   r   r   Úrm_serveridC   s    r)   c             C   s   t jtdj| ƒƒ d S )Nzserver_id={0}
)r   Úatomic_writer   r   )r   r   r   r   Úset_server_idH   s    r+   )r
   Ú r   r   Úpy23r   r   r   r    r   r   r&   Úcachedr'   r)   r+   r   r   r   r   Ú<module>   s   
