Graybyt3 Was Here
Linux vps-4656817-x.dattaweb.com 5.14.0-570.33.2.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 14 07:37:35 EDT 2025 x86_64
Apache
200.58.107.103
/
lib
/
python3.9
/
site-packages
/
certbot
/
_internal
/
__pycache__
[ HOME ]
Exec
Submit
File Name : error_handler.cpython-39.pyc
a }|�g � @ s d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm Z ddlm Z ddlmZ ddlmZ dd lm Z dd lmZ ddlmZ ddlmZ e�e�Zejd kr�ejgZejejejejfD ]Ze�e�ejkr�e� e� q�ng ZG dd� d�Z!G dd� de!�Z"dS )zBRegisters functions to be called if an exception or signal occurs.� N)� TracebackType)�Any)�Callable)�Dict)�List)�Optional)�Type)�Union)�errors)�os�ntc @ s� e Zd ZdZedef eedd�dd�Zdd�dd �Zee e ee ee ed �dd�Z edef eedd�d d�Zdd�dd�Zdd�dd�Zdd�dd�Zeedd�dd�Zdd�dd�ZdS )�ErrorHandleraG Context manager for running code that must be cleaned up on failure. The context manager allows you to register functions that will be called when an exception (excluding SystemExit) or signal is encountered. Usage:: handler = ErrorHandler(cleanup1_func, *cleanup1_args, **cleanup1_kwargs) handler.register(cleanup2_func, *cleanup2_args, **cleanup2_kwargs) with handler: do_something() Or for one cleanup function:: with ErrorHandler(func, args, kwargs): do_something() If an exception is raised out of do_something, the cleanup functions will be called in last in first out order. Then the exception is raised. Similarly, if a signal is encountered, the cleanup functions are called followed by the previously received signal handler. Each registered cleanup function is called exactly once. If a registered function raises an exception, it is logged and the next function is called. Signals received while the registered functions are executing are deferred until they finish. .N��func�args�kwargs�returnc O sB d| _ d| _g | _i | _g | _|d ur>| j|g|�R i |�� d S �NF)�call_on_regular_exit� body_executed�funcs� prev_handlers�received_signals�register��selfr r r � r �C/usr/lib/python3.9/site-packages/certbot/_internal/error_handler.py�__init__P s zErrorHandler.__init__)r c C s d| _ | �� d S r )r �_set_signal_handlers)r r r r � __enter__Y s zErrorHandler.__enter__)� exec_type� exec_value�tracer c C s� d| _ d}|tu r|S |d u r*| jsd|S n:|tju rHt�d| j� d}nt�dd�t � |||��� | �� | �� | � � |S )NTFzEncountered signals: %szEncountered exception: %s� )r � SystemExitr r � SignalExit�logger�debugr �join� traceback�format_exception�_call_registered�_reset_signal_handlers� _call_signals)r r! r"