Viewing file: license_lib.py (2.23 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- coding: utf-8 -*-
# license_lib.py
# # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT
from __future__ import absolute_import import subprocess
class CloudlinuxLicenseLib(object): def __init__(self): self._CLDETECT_UTILITY = "/usr/bin/cldetect" self._CLNREG_KS_UTILITY = '/usr/sbin/clnreg_ks'
def get_license_status(self): """ Checks Cloudlinux license :return: True - license valid False - invalid """ # cldetect --check-license -q p = subprocess.Popen( [self._CLDETECT_UTILITY, '--check-license', '-q'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) p.communicate() return p.returncode == 0
def register_and_update_license_by_key(self, key): """ Register and update Cloudlinux license by key :param key: License key :return: """ # /usr/bin/cldetect --update-new-key key p = subprocess.Popen( [self._CLDETECT_UTILITY, '--update-new-key', key], stdout=subprocess.PIPE, stderr=subprocess.PIPE ) p.communicate()
def register_and_update_license_by_ip(self, stage=None): """ 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: """ # 1. /usr/sbin/clnreg_ks --force if stage is None or stage == 'clnreg_ks': p = subprocess.Popen( [self._CLNREG_KS_UTILITY, '--force'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) p.communicate() # 2. /usr/bin/cldetect --update-license if stage is None or stage == 'cldetect': p = subprocess.Popen( [self._CLDETECT_UTILITY, '--update-license'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) p.communicate()
|