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 :  /lib/python3/dist-packages/uaclient/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


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

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

F��c}�@s�dZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
ddlZdZee
e
ee
e
ffZdadd�ZejGdd�dej��Zd	ee
efd
ee
effdd�ZGd
d�d�ZdS)a$
This module is responsible for handling all events
that must be raised to the user somehow. The main idea
behind this module is to centralize all events that happens
during the execution of Pro commands and allows us to report
those events in real time or through a machine-readable format.
�N)�Any�Dict�List�Optional�Set�Unionz0.1cCstdurt�atS�N)�
_event_logger�EventLogger�rr�7/usr/lib/python3/dist-packages/uaclient/event_logger.py�get_event_loggersr
c@s"eZdZdZe�Ze�Ze�ZdS)�EventLoggerModea
    Defines event logger supported modes.
    Currently, we only support the cli and machine-readable mode. On cli mode,
    we will print to stdout/stderr any event that we receive. Otherwise, we
    will store those events and parse them for the specified format.
    N)�__name__�
__module__�__qualname__�__doc__�object�CLI�JSON�YAMLrrrrrs

r�status�returncCsDddlm}dd�t|����D�|d<|�dd�|�dg�|S)	Nr)�get_pro_environmentcSsg|]	\}}||d��qS))�name�valuer)�.0rrrrr�
<listcomp>/s��z2format_machine_readable_output.<locals>.<listcomp>�environment_vars�origin��services)�
uaclient.utilr�sorted�items�pop�
setdefault)rrrrr�format_machine_readable_output,s
�r'c@sbeZdZdd�Zdd�Zdefdd�Zdefd	d
�Zde	fdd
�Z
d6dedeefdd�Z			d7dedeede
e	eefdeedeedee	eeffdd�Z				d8dedeedeedeedee	eeff
dd�Zd9d edeefd!d"�Zdefd#d$�Zd%e
efd&d'�Zdefd(d)�Zd*efd+d,�Zd-d.�Zd/d0�Zd1d2�Zd:d4d5�ZdS);r
cCs:g|_g|_t�|_t�|_d|_d|_i|_tj	|_
dS)NFr ��
_error_events�_warning_events�set�_processed_services�_failed_services�
_needs_reboot�_command�_output_contentrr�_event_logger_mode��selfrrr�__init__?szEventLogger.__init__cCs:g|_g|_t�|_t�|_d|_d|_i|_tj	|_
dS)z/Reset the state of the event logger attributes.Fr Nr(r2rrr�resetLszEventLogger.reset�
event_modecC�
||_dS)z_Set the event logger mode.

        We currently support the CLI, JSON and YAML modes.
        N)r1)r3r6rrr�set_event_modeWs
zEventLogger.set_event_mode�commandcCr7)z�Set the event logger command.

        The command will tell the process_events method which output method
        to use.
        N)r/)r3r9rrr�set_command^�
zEventLogger.set_command�output_contentcCr7)z�Set the event logger output content.

        The command will tell the process_events method which content
        to use.
        N)r0)r3r<rrr�set_output_contentfr;zEventLogger.set_output_contentN�info_msg�endcCs,|stj}|jtjkrt|||d�dSdS)zL
        Print the info message if the event logger is on CLI mode.
        )�filer?N)�sys�stdoutr1rr�print)r3r>�	file_typer?rrr�infons
�zEventLogger.info�msg�service�
event_dict�code�
event_type�additional_infocCs<|dur
|rdnd}||||d�}|r||d<|�|�dS)NrG�system)�typerG�message�message_coderK)�append)r3rFrGrHrIrJrK�event_entryrrr�_record_dict_eventxs	�zEventLogger._record_dict_event�	error_msg�
error_code�
error_typecCs,|jtjkr|j|||j|||d�dSdS)z�
        Store an error in the event logger.

        However, the error will only be stored if the event logger
        is not on CLI mode.
        )rFrGrHrIrJrKN)r1rrrRr))r3rSrTrGrUrKrrr�error�s
��zEventLogger.error�warning_msgcCs&|jtjkr|j|||jd�dSdS)z�
        Store a warning in the event logger.

        However, the warning will only be stored if the event logger
        is not on CLI mode.
        )rFrGrHN)r1rrrRr*)r3rWrGrrr�warning�s
��zEventLogger.warningcC�|j�|�dSr)r,�add�r3rGrrr�service_processed��zEventLogger.service_processedr!cCrYr)r-�update)r3r!rrr�services_failed�r]zEventLogger.services_failedcCrYr)r-rZr[rrr�service_failed�r]zEventLogger.service_failed�reboot_requiredcCs
||_dSr)r.)r3rarrr�needs_reboot�s
zEventLogger.needs_rebootcCs"dd�|jD�}tt�|j|��S)NcSsh|]
}|dr|d�qS)rGr)rrVrrr�	<setcomp>�s��z8EventLogger._generate_failed_services.<locals>.<setcomp>)r)�listr+�unionr-)r3�services_with_errorrrr�_generate_failed_services�s�z%EventLogger._generate_failed_servicescCsHt|jsdndt|j�t|���|j|j|jd�}ttj	|dd��dS)N�success�failure)�_schema_version�result�processed_services�failed_services�errors�warningsrbT)�	sort_keys)
�JSON_SCHEMA_VERSIONr)r#r,rgr*r.rC�json�dumps)r3�responserrr�_process_events_services�s
�
z$EventLogger._process_events_servicescCs�t|j�}|js
dnd|d<|j|d<|j|d<|jtjkr0ddlm}t	t
j||dd	��dS|jtjkrAt	t
j|d
d��dSdS)Nrhrirkrnror)�DatetimeAwareJSONEncoderT)�clsrpF)�default_flow_style)r'r0r)r*r1rrr"rvrCrrrsr�yaml�dump)r3�outputrvrrr�_process_events_status�s


���z"EventLogger._process_events_statusrcCs2|jtjkr|jdkr|��dS|��dSdS)z�
        Creates a json response based on all of the
        events stored in the event logger.

        The json response will only be created if the event logger
        is not on CLI mode.
        rN)r1rrr/r|rur2rrr�process_events�s

�zEventLogger.process_events)NN)NNN)NNNNr)rN)rrrr4r5rr8�strr:rr=rrEr�EventFieldErrorTyperRrVrXr\r_r`�boolrbrgrur|r}rrrrr
>s^
������
������
�
r
)r�enumrrrA�typingrrrrrrryrqr~rr	r
�unique�Enumrr'r
rrrr�<module>s 	"


Anon7 - 2022
AnonSec Team