a ÈRÙi‰ã@sjddlZddlmZmZddlmZdZdZdZdd „Z d d „Z d d „Z ej dd„ƒZdd„Zdd„ZdS)éNé)ÚerrorsÚutils)Újson_loads_nstrz/etc/sysconfig/kcare/systemidz&/etc/sysconfig/kcare/systemid.almacarez/var/imunify360/license.jsoncCs’tj t¡sdSttdƒd}|D]N}| d¡\}}}| ¡dkrZ| ¡WdƒStjd  t¡dd‚q Wdƒn1s„0YdS)NÚrú=Ú server_idzUnable to parse {0}.zserver 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Ú _systemids   4rcCsJtj t¡sdSttdƒ}| ¡ ¡WdƒS1s<0YdS)Nr)r r r Ú ALMA_SYSTEMIDrÚreadliner)ÚfrrrÚ_alma_systemid!s  rc Csrtj t¡sdSi}ttƒ<}| ¡}|rJz t|ƒ}WntyHYn0Wdƒn1s^0Y| d¡S)NÚid) r r r ÚIM360_LICENSE_FILErÚreadrÚ ExceptionÚget)ÚdatarÚcontentrrrÚ_im360_systemid)s    $r&cCstƒptƒptƒS)zqGet server_id or None if not present. Lookup order: SYSTEMID then IM360_LICENSE_FILE then ALMA_SYSTEMID )rr&rrrrrÚ get_serverid9sr'cCst t¡dS)N)r Úunlinkr rrrrÚ rm_serveridCsr)cCst td |¡¡dS)Nzserver_id={0} )rÚ atomic_writer r)rrrrÚ set_server_idHsr+)r ÚrrÚpy23rr rr ÚOptionalrrr&Úcachedr'r)r+rrrrÚs