HEX
Server: Apache
System: Linux a16-asgard6.hospedagemuolhost.com.br 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: maoristu4c3dbd03 (1436)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib64/python3.9/site-packages/rhsmlib/services/__pycache__/syspurpose.cpython-39.pyc
a

X�Zh_�@s�dZddlZddlmZddlmZddlmZddl	m
Zddlm
Z
mZmZddlmZdd	lmZe�e�ZGd
d�d�ZdS)z1
This module provides service for system purpose
�N)�Dict)�
UEPConnection)�	injection)�ugettext)�merge_syspurpose_values�write_syspurpose�get_sys_purpose_store)�SYSPURPOSE_WATCHER)�Serverc@s`eZdZedd�dd�Zdeed�dd�Zed�d	d
�Z	eed�dd
�Z
eeed�dd��ZdS)�
SyspurposeN)�cp�returncCs.||_t�tj�|_ddi|_d|_d|_dS)N�status�unknown)r�inj�requireZIDENTITY�identity�purpose_status�owner�valid_fields)�selfr�r�A/usr/lib64/python3.9/site-packages/rhsmlib/services/syspurpose.py�__init__&s

zSyspurpose.__init__)�on_dater
cCs0|j��r*|j�d�r*|j�|jj|�|_|jS)z�
        Get syspurpose status from candlepin server
        :param on_date: Date of the status
        :return: string code with status
        �
syspurpose)r�is_validr�has_capabilityZgetSyspurposeCompliance�uuidr)rrrrr�get_syspurpose_status-sz Syspurpose.get_syspurpose_status)r
cCsJ|j��rD|j�d�rDt�tj�|_t�tj�}|j	|j|jd�|_
|j
S)z�
        Get valid syspurpose fields from candlepin server for current owner
        :return: Dictionary with valid syspurpose fields
        r)�uepr)rrrrrrZCURRENT_OWNER_CACHErZSYSPURPOSE_VALID_FIELDS_CACHEZ	read_datar)r�cacherrr�!get_owner_syspurpose_valid_fields7s
z,Syspurpose.get_owner_syspurpose_valid_fields)�syspurpose_valuesr
cCs~t�th�|j��rT|j�d�rTt||j|jjd�}t	|�t
�}|��}|j}nt|iid�}t	|�|}t�
th�|S)z�
        Try to set system purpose values
        :param syspurpose_values: Dictionary with system purpose values
        :return: Dictionary with local result
        r)�localr Z
consumer_uuid)r$Zremote�base)r
Ztemporary_disable_dir_watchersr	rrrrrrrr�sync�resultZenable_dir_watchers)rr#Zlocal_resultZsynced_storeZsync_resultr'rrr�set_syspurpose_valuesBs�z Syspurpose.set_syspurpose_values)rr
c	CsFtd�td�td�td�td�td�td�td�d�}|�||d�S)	z�
        Return translated string representation syspurpose status
        :param status: syspurpose status
        :return: Translated string with status
        ZMatchedZ
MismatchedZPartialz
Not SpecifiedZDisabledZUnknown)ZvalidZinvalid�partialZmatchedZ
mismatchedz
not specifiedZdisabledrr)�_�get)rZ
status_maprrr�get_overall_statusYs�
zSyspurpose.get_overall_status)N)
�__name__�
__module__�__qualname__rr�strrr�dictr"r(�staticmethodr,rrrrr%s
r)�__doc__Zlogging�typingrZrhsm.connectionrZsubscription_managerrrZsubscription_manager.i18nrr*Z"subscription_manager.syspurposelibrrrZrhsmlib.file_monitorr	Zrhsmlib.dbus.serverr
Z	getLoggerr-�logrrrrr�<module>s