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/dbus/objects/__pycache__/entitlement.cpython-39.pyc
a

X�Zh�&�@s�ddlZddlmZmZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
ddlmZddlmZddlmZe�e�e�ZGdd	�d	ej�ZGd
d�dej�ZdS)�N)�List�Union)�
UEPConnection)�	constants�base_object�util�
dbus_utils)�EntitlementService)�init_dep_injection)�Localec@s�eZdZeed�dd�Zeeed�dd�Zeed�dd	�Zeeeeed
�dd�Z	eeeeed
�dd�Z
eejd�dd�ZdS)�EntitlementDBusImplementation)�on_date�returnc
Cs~|dkrdn|�|�}|jid�}t|�}z|j|dd�}Wn<tyx}z$t�|�t�t	|���WYd}~n
d}~00|S)zGet status of entitlements.�N)�optionsT)r
�force)
�_parse_date�	build_uepr	�
get_status�	Exception�log�	exception�dbus�
DBusException�str)�selfr
�uep�service�status�exc�r �F/usr/lib64/python3.9/site-packages/rhsmlib/dbus/objects/entitlement.pyr"s
$z(EntitlementDBusImplementation.get_status)r�
proxy_optionsrc	Cs�|�dd�}|dkr"|�|�|d<|�dd�}|dkrD|�|�|d<|�dd�}|dkr`||d<|j|dd�}t|�}|jfi|��}|S)zDGet pools that are installed, available and consumed by this system.r
r�
after_date�futureT�Z
proxy_only)�
setdefaultrrr	�	get_pools)	rrr"r
r#r$rr�poolsr r r!r'0sz'EntitlementDBusImplementation.get_pools)r"rcCs"|j|dd�}t|�}|��}|S)NTr%)rr	�remove_all_entitlements)rr"rr�resultr r r!r)Dsz5EntitlementDBusImplementation.remove_all_entitlements)�pool_idsr"rcCs*|j|dd�}t|�}|�|�\}}}|S)zSRemove entitlements by Pool IDs

        :return: List of removed serials.
        Tr%)rr	�remove_entitlements_by_pool_ids)rr+r"rr�_�removed_serialsr r r!r,Ksz=EntitlementDBusImplementation.remove_entitlements_by_pool_ids)�serialsr"rcCs(|j|dd�}t|�}|�|�\}}|S)zSRemove entitlements by serials.

        :return: List of removed serials.
        Tr%)rr	�remove_entitlements_by_serials)rr/r"rrr.r-r r r!r0Vsz<EntitlementDBusImplementation.remove_entitlements_by_serials)�date_stringrc
CsBzt�|�}Wn.ty<}zt�|��WYd}~n
d}~00|S)ah
        Return new datetime parsed from date.

        This is a wrapper around EntitlementService.parse_date that raises
        a D-Bus exception instead of ValueError.

        :param date_string: String representing date
        :return: datetime.datetime structure representing date
        :raises dbus.DBusException: String cannot be converted
        N)r	Z
parse_date�
ValueErrorrr)rr1�date�errr r r!ras
 z)EntitlementDBusImplementation._parse_dateN)
�__name__�
__module__�__qualname__r�dictrr'r)rr,r0�datetimerr r r r!r!srcs eZdZdZejZejZd�fdd�	Z	e
jejddd�e
je
j
ddd	����Ze
jejd
d�e
j
dd
���Ze
jejddd�e
je
j
ddd����Ze
jejddd�e
je
j
ddd����Ze
jejddd�e
je
j
ddd����Ze
jejddd�e
je
j
d dd����Zedd��Z�ZS)!�EntitlementDBusObjectzh
    A D-Bus object interacting with subscription-manager to list, get status
    and remove pools.
    Ncs"tt|�j|||d�t�|_dS)N)�conn�object_path�bus_name)�superr:�__init__r�impl)rr;r<r=��	__class__r r!r?|szEntitlementDBusObject.__init__�ss�s)Zin_signatureZ
out_signaturecCs<tj|td�}tj|td�}t�|�|j�|�}t�|�S)z�
        Get status of entitlements
        :param on_date: Date
        :param locale: String with locale (e.g. de_DE.UTF-8)
        :param sender: Not used argument
        :return: String with JSON dump
        �Z
expected_type)	r�dbus_to_pythonrr�setr@r�json�dumps)rr
�locale�senderrr r r!�	GetStatus�s

zEntitlementDBusObject.GetStatusr)Z	signaturecCst�dtj�dS)za
        Signal fired, when entitlement is created/deleted/changed
        :return: None
        zD-Bus signal %s emittedN)r�debugr�ENTITLEMENT_INTERFACE)rr r r!�EntitlementChanged�sz(EntitlementDBusObject.EntitlementChangedza{sv}a{sv}scCsLtj|td�}tj|td�}tj|td�}t�|�|j�||�}t�	|�S)a]
        Try to get pools installed/available/consumed at this system
        :param options: D-Bus object storing options of query
        :param proxy_options: D-Bus object with proxy configuration
        :param locale: String with locale (e.g. de_DE.UTF-8)
        :param sender: Not used argument
        :return: String with JSON dump
        rE)
rrFr8rrrGr@r'rHrI)rrr"rJrKr(r r r!�GetPools�s
zEntitlementDBusObject.GetPoolsza{sv}scCs<tj|td�}tj|td�}t�|�|j�|�}t�	|�S)a
        Try to remove all entitlements (subscriptions) from the system
        :param proxy_options: Settings of proxy
        :param locale: String with locale (e.g. de_DE.UTF-8)
        :param sender: Not used argument
        :return: Json string containing response
        rE)
rrFr8rrrGr@r)rHrI)rr"rJrKr*r r r!�RemoveAllEntitlements�s

z+EntitlementDBusObject.RemoveAllEntitlementszasa{sv}scCsLtj|td�}tj|td�}tj|td�}t�|�|j�||�}t	�
|�S)aI
        Try to remove entitlements (subscriptions) by pool_ids
        :param pool_ids: List of pool IDs
        :param proxy_options: Settings of proxy
        :param locale: String with locale (e.g. de_DE.UTF-8)
        :param sender: Not used argument
        :return: Json string representing list of serial numbers
        rE)rrF�listr8rrrGr@r,rHrI)rr+r"rJrKr.r r r!�RemoveEntitlementsByPoolIds�s
z1EntitlementDBusObject.RemoveEntitlementsByPoolIdscCsLtj|td�}tj|td�}tj|td�}t�|�|j�||�}t	�
|�S)a^
        Try to remove entitlements (subscriptions) by serials
        :param serials: List of serial numbers of subscriptions
        :param proxy_options: Settings of proxy
        :param locale: String with locale (e.g. de_DE.UTF-8)
        :param sender: Not used argument
        :return: Json string representing list of serial numbers
        rE)rrFrRr8rrrGr@r0rHrI)rr/r"rJrKr.r r r!�RemoveEntitlementsBySerials�s
z1EntitlementDBusObject.RemoveEntitlementsBySerialscCst�}|j��|��dS)N)r	�identity�reload)Zentitlement_servicer r r!rVs
zEntitlementDBusObject.reload)NNN)N)N)N)N)N)r5r6r7�__doc__rZENTITLEMENT_DBUS_PATHZdefault_dbus_pathrNZinterface_namer?rZdbus_service_methodZdbus_handle_senderZdbus_handle_exceptionsrLZdbus_service_signalrOrPrQrSrT�staticmethodrV�
__classcell__r r rAr!r:ssh��	����r:)r9�typingrrrrHZloggingZrhsm.connectionrZrhsmlib.dbusrrrrZrhsmlib.services.entitlementr	Z"subscription_manager.injectioninitr
Zsubscription_manager.i18nrZ	getLoggerr5rZBaseImplementationrZ
BaseObjectr:r r r r!�<module>
s
R