PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: reporter.py Size: 3.40 KB
//lib/python3.6/site-packages/certbot/_internal/reporter.py

"""Collects and displays information to the user."""
import collections
import logging
import queue
import sys
import textwrap

from certbot import configuration
from certbot import util

logger = logging.getLogger(__name__)


class Reporter:
    """Collects and displays information to the user.

    :ivar `queue.PriorityQueue` messages: Messages to be displayed to
        the user.

    """

    HIGH_PRIORITY = 0
    """High priority constant. See `add_message`."""
    MEDIUM_PRIORITY = 1
    """Medium priority constant. See `add_message`."""
    LOW_PRIORITY = 2
    """Low priority constant. See `add_message`."""

    _msg_type = collections.namedtuple('_msg_type', 'priority text on_crash')

    def __init__(self, config: configuration.NamespaceConfig) -> None:
        self.messages: queue.PriorityQueue[Reporter._msg_type] = queue.PriorityQueue()
        self.config = config

    def add_message(self, msg: str, priority: int, on_crash: bool = True) -> None:
        """Adds msg to the list of messages to be printed.

        :param str msg: Message to be displayed to the user.

        :param int priority: One of `HIGH_PRIORITY`, `MEDIUM_PRIORITY`,
            or `LOW_PRIORITY`.

        :param bool on_crash: Whether or not the message should be
            printed if the program exits abnormally.

        """
        assert self.HIGH_PRIORITY <= priority <= self.LOW_PRIORITY
        self.messages.put(self._msg_type(priority, msg, on_crash))
        logger.debug("Reporting to user: %s", msg)

    def print_messages(self) -> None:
        """Prints messages to the user and clears the message queue.

        If there is an unhandled exception, only messages for which
        ``on_crash`` is ``True`` are printed.

        """
        bold_on = False
        if not self.messages.empty():
            no_exception = sys.exc_info()[0] is None
            bold_on = sys.stdout.isatty()
            if not self.config.quiet:
                if bold_on:
                    print(util.ANSI_SGR_BOLD)
                print('IMPORTANT NOTES:')
            first_wrapper = textwrap.TextWrapper(
                initial_indent=' - ',
                subsequent_indent=(' ' * 3),
                break_long_words=False,
                break_on_hyphens=False)
            next_wrapper = textwrap.TextWrapper(
                initial_indent=first_wrapper.subsequent_indent,
                subsequent_indent=first_wrapper.subsequent_indent,
                break_long_words=False,
                break_on_hyphens=False)
        while not self.messages.empty():
            msg = self.messages.get()
            if self.config.quiet:
                # In --quiet mode, we only print high priority messages that
                # are flagged for crash cases
                if not (msg.priority == self.HIGH_PRIORITY and msg.on_crash):
                    continue
            if no_exception or msg.on_crash:
                if bold_on and msg.priority > self.HIGH_PRIORITY:
                    if not self.config.quiet:
                        sys.stdout.write(util.ANSI_SGR_RESET)
                        bold_on = False
                lines = msg.text.splitlines()
                print(first_wrapper.fill(lines[0]))
                if len(lines) > 1:
                    print("\n".join(
                        next_wrapper.fill(line) for line in lines[1:]))
        if bold_on and not self.config.quiet:
            sys.stdout.write(util.ANSI_SGR_RESET)

Directory Contents

Dirs: 4 × Files: 17

Name Size Perms Modified Actions
cli DIR
- drwxr-xr-x 2025-04-13 08:21:05
Edit Download
display DIR
- drwxr-xr-x 2025-04-13 08:21:05
Edit Download
plugins DIR
- drwxr-xr-x 2025-04-13 08:21:05
Edit Download
- drwxr-xr-x 2025-04-13 08:21:05
Edit Download
15.89 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
19.96 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
18.39 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
33.20 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
6.92 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
4.81 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
7.29 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
8.42 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
9.91 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
14.73 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
61.22 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
23.24 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
3.40 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
3.51 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
48.90 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
4.64 KB lrw-r--r-- 2021-12-07 22:02:45
Edit Download
184 B lrw-r--r-- 2021-12-07 22:02:45
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI