g 0ddlZddlZGddZdS)Nc.eZdZdZdZdZdZddZdS)CloudlinuxLicenseLibc0d|_d|_d|_dS)Nz/usr/bin/cldetectz/usr/sbin/clnreg_ksz/usr/sbin/clncheck)_CLDETECT_UTILITY_CLNREG_KS_UTILITY_CLNCHECK_UTILITYselfs py/cllicense/license_lib.py__init__zCloudlinuxLicenseLib.__init__s !4"7!5ctj|jddgtjtj5}||jdkcdddS#1swxYwYdS)zr Checks Cloudlinux license :return: True - license valid False - invalid z--check-licensez-qstdoutstderrrN) subprocessPopenrPIPE communicate returncode)r procs r get_license_statusz'CloudlinuxLicenseLib.get_license_statuss   #%6 =??    (      ?a'  ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (sA  A$'A$cJtj|jSN)ospathisfilerr s r is_edition_migration_availablez3CloudlinuxLicenseLib.is_edition_migration_available$sw~~d4555r ctj|jd|gtjtj5}|ddddS#1swxYwYdS)zp Register and update Cloudlinux license by key :param key: License key :return: z--update-new-keyrN)rrrrr)r keyrs r "register_and_update_license_by_keyz7CloudlinuxLicenseLib.register_and_update_license_by_key(s   #%7 =??                             sAAANc||dkr|jdg}|r|dtj|tjtj5}|dddn #1swxYwY||dkratj|jdgtjtj5}|ddddS#1swxYwYdSdS)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: N clnreg_ksz--forcez--migrate-silentlyrcldetectz--update-license)rrappendrrrrr)r stage clnreg_cmdrs r !register_and_update_license_by_ipz6CloudlinuxLicenseLib.register_and_update_license_by_ip6s =E[0019=J2244 8!!"6777!!! #  """  # # # # # # # # # # # # # # # =EZ//!');<!! #  """  # # # # # # # # # # # # # # # # # #0/s$&BB B  C..C25C2r)__name__ __module__ __qualname__r rrr!r(r r rrsd666 ( ( (666   ######r r)rrrr,r r r-sX B#B#B#B#B#B#B#B#B#B#r