File: //lib/python3/dist-packages/certbot/_internal/display/__pycache__/obj.cpython-312.pyc
�
M/�e�W � �t � d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlm
Z
ddlmZ dd
lmZ ddlmZ ddlmZ ej* e� ZdZ dZ dZ G d� d� Z e� Z e
d� Z G d� d� Z G d� d� Zdeeef fd�Z deeef ddfd�Z!y)zFThis modules define the actual display implementations used in Certbot� N)�Any)�Iterable)�List)�Optional)�TextIO)�Tuple)�TypeVar)�Union)�errors)� constants)� completer)�util)�os�ok�cancelzO- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -c � � e Zd Zdd�Zy)�_DisplayServiceNc � � d | _ y �N��display)�selfs �?/usr/lib/python3/dist-packages/certbot/_internal/display/obj.py�__init__z_DisplayService.__init__) s � �LP��� )�returnN)�__name__�
__module__�__qualname__r � r r r r ( s � �Qr r �Tc � � � e Zd ZdZdededdf� fd�Z d#deded eded
eddfd�Z d$dede e
eeef e
e f d
ee dee dee dee
dee dededeee
f fd�Z d%dedee dee dededeeef fd�Z d&dedededee dee dededefd�Z d%dede
e dee
e dee dededeee
e f fd�Zdedee dee dedee f
d�Zdedefd�Z d%dedee dee dededeeef fd�Zdee ee
f de
e de
e fd�Zdede e
eeef e
e f ddfd �Zd!e
deee
f fd"�Z� xZS )'�FileDisplayzFile-based display.�outfile�force_interactiver Nc �L �� t �| � � || _ || _ d| _ y )NF)�superr r$ r% �skipped_interaction)r r$ r% � __class__s �r r zFileDisplay.__init__6 s% �� �
�������!2���#(�� r �message�pause�wrap�decoratec � � |rt j |� }t j d|� | j j |rdnddz |rdndz j
t j t |�� � | j j � |r=| j |� rt j d� y t j d� y y )
a Displays a notification and waits for user acceptance.
:param str message: Message to display
:param bool pause: Whether or not the program should pause for the
user's confirmation
:param bool wrap: Whether or not the application should wrap text
:param bool force_interactive: True if it's safe to prompt the user
because it won't cause any workflow regressions
:param bool decorate: Whether to surround the message with a
decorated frame
�Notifying user: %s�{line}{frame}{line}� �{msg}{line}�
{frame}{line}��line�frame�msgzPress Enter to Continuez!Not pausing for user confirmationN)
r �
wrap_lines�logger�debugr$ �write�formatr �linesep�
SIDE_FRAME�flush�
_can_interact�input_with_timeout)r r* r+ r, r% r- s r �notificationzFileDisplay.notification<