File: //opt/alt/python37/lib/python3.7/site-packages/cllicense/__pycache__/license_lib.cpython-37.pyc
B
)R�k^6�� @ s0 d dl mZ d dlZd dlZG dd� de�ZdS )� )�absolute_importNc @ s6 e Zd Zdd� Zdd� Zdd� Zdd� Zdd
d�Zd S )
�CloudlinuxLicenseLibc C s d| _ d| _d| _d S )Nz/usr/bin/cldetectz/usr/sbin/clnreg_ksz/usr/sbin/clncheck)�_CLDETECT_UTILITY�_CLNREG_KS_UTILITY�_CLNCHECK_UTILITY)�self� r �py/cllicense/license_lib.py�__init__ s zCloudlinuxLicenseLib.__init__c C s. t j| jddgt jt jd�}|�� |jdkS )zr
Checks Cloudlinux license
:return: True - license valid
False - invalid
z--check-licensez-q)�stdout�stderrr )�
subprocess�Popenr �PIPE�communicate�
returncode)r �pr r r �get_license_status s
z'CloudlinuxLicenseLib.get_license_statusc C s t j�| j�S )N)�os�path�isfiler )r r r r �is_edition_migration_available% s z3CloudlinuxLicenseLib.is_edition_migration_availablec C s( t j| jd|gt jt jd�}|�� dS )zp
Register and update Cloudlinux license by key
:param key: License key
:return:
z--update-new-key)r r N)r
r r r r )r �keyr r r r �"register_and_update_license_by_key) s
z7CloudlinuxLicenseLib.register_and_update_license_by_keyNc C s~ |dks|dkrH| j dg}| �� r,|�d� tj|tjtjd�}|�� |dksX|dkrztj| jdgtjtjd�}|�� dS )a
Register and update Cloudlinux license by IP
:param stage: Registraton stage.
None - all stages. Normal mode
'clnreg_ks' - only clnreg_ks. Only for tests
'cldetect' - only cldetect. Only for tests
:return:
NZ clnreg_ksz--forcez--migrate-silently)r r Zcldetectz--update-license)r r �appendr
r r r r )r ZstageZ
clnreg_cmdr r r r �!register_and_update_license_by_ip7 s
z6CloudlinuxLicenseLib.register_and_update_license_by_ip)N)�__name__�
__module__�__qualname__r
r r r r r r r r r s
r )Z
__future__r r
r �objectr r r r r �<module> s