Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
certbot /
_internal /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-08-28 00:25
cli
[ DIR ]
drwxr-xr-x
2024-08-28 00:25
display
[ DIR ]
drwxr-xr-x
2024-08-28 00:25
plugins
[ DIR ]
drwxr-xr-x
2024-08-28 00:25
__init__.py
184
B
-rw-r--r--
2021-11-03 06:27
account.py
14.78
KB
-rw-r--r--
2021-11-03 06:27
auth_handler.py
17.36
KB
-rw-r--r--
2021-11-03 06:27
cert_manager.py
15.78
KB
-rw-r--r--
2021-11-03 06:27
client.py
30.48
KB
-rw-r--r--
2021-11-03 06:27
constants.py
6.83
KB
-rw-r--r--
2021-11-03 06:27
eff.py
4.35
KB
-rw-r--r--
2021-11-03 06:27
error_handler.py
6.94
KB
-rw-r--r--
2021-11-03 06:27
hooks.py
7.96
KB
-rw-r--r--
2021-11-03 06:27
lock.py
9.82
KB
-rw-r--r--
2021-11-03 06:27
log.py
14.13
KB
-rw-r--r--
2021-11-03 06:27
main.py
57.32
KB
-rw-r--r--
2021-11-03 06:27
renewal.py
22.38
KB
-rw-r--r--
2021-11-03 06:27
reporter.py
3.29
KB
-rw-r--r--
2021-11-03 06:27
snap_config.py
3.31
KB
-rw-r--r--
2021-11-03 06:27
storage.py
46.51
KB
-rw-r--r--
2021-11-03 06:27
updater.py
3.96
KB
-rw-r--r--
2021-11-03 06:27
Save
Rename
"""Collects and displays information to the user.""" import collections import logging import queue import sys import textwrap 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): self.messages: queue.PriorityQueue[Reporter._msg_type] = queue.PriorityQueue() self.config = config def add_message(self, msg, priority, on_crash=True): """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): """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)