o Hcf @sddlZddlmZmZmZmZddlmZmZm Z m Z m Z m Z ddl mZddlmZee eZeZGdddeZdS)N)AnyDictOptionalTuple)api event_logger exceptionsmessagessystemutil) UAEntitlement)ApplicationStatusc seZdZdZejZejZej j Z ej Z defddZdefddZdejdefdd Zdejdefd d Zdeeeejffd d ZdeeeejffddZ ddeeefdeeefdedeffdd ZZ S)LandscapeEntitlement landscapereturncCdSNselfrrA/usr/lib/python3/dist-packages/uaclient/entitlements/landscape.py enable_stepsz!LandscapeEntitlement.enable_stepscCrrrrrrr disable_stepsrz"LandscapeEntitlement.disable_stepsprogressc Csdg|j}|jrd|vr|dg7}td||ttjj d |dz t j ||jdWd St jye}z%t||jrZ|d|jt j|j|jdWYd}~d Sd}~ww) Nlandscape-config--silentz Executing: %r command)pipe_stdouterrinfo)stdoutstderrFT) extra_args assume_yesLOGdebugrr redact_sensitive_logsr EXECUTING_COMMANDformatjoinr subprProcessExecutionError exceptionemitr$stripLandscapeConfigFailedr#rrcmderrr_perform_enables,     z$LandscapeEntitlement._perform_enablec Csddg}|tjjd|dzt|Wn"tjy:}zt || dt | WYd}~nd}~ww| dtjdS)Nrz --disablerrr"T)rr r*r+r,r r-rr.r'errorr0strr1LANDSCAPE_CONFIG_REMAINSr3rrr_perform_disable0s  z%LandscapeEntitlement._perform_disablecCs(|rtdrtjdfStjtjfS)Nzlandscape-client)are_required_packages_installedr is_systemd_unit_activer ENABLEDDISABLEDr LANDSCAPE_SERVICE_NOT_ACTIVErrrrapplication_status?s z'LandscapeEntitlement.application_statuscCs@trz tgdWdStjydtjfYSwdS)N)rz--is-registeredrT)FN)r we_are_currently_rootr r-rr.r LANDSCAPE_NOT_REGISTEREDrrrrenabled_warning_statusMs z+LandscapeEntitlement.enabled_warning_statusF orig_accessdeltas allow_enablecstj||ddS)NF)rF)superprocess_contract_deltas)rrDrErF __class__rrrH_sz,LandscapeEntitlement.process_contract_deltas)F)!__name__ __module__ __qualname__namer LANDSCAPE_TITLEtitleLANDSCAPE_DESCRIPTION descriptionurlsLANDSCAPE_HOME_PAGE help_doc_urlLANDSCAPE_HELP_TEXT help_textintrrrProgressWrapperboolr6r:rr r NamedMessager@rCrr8rrH __classcell__rrrIrr s4    r)loggingtypingrrrruaclientrrrr r r uaclient.entitlements.baser (uaclient.entitlements.entitlement_statusr getLoggerreplace_top_level_logger_namerKr'get_event_loggereventrrrrrs