JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/certbot/_internal/display/__pycache__/util.cpython-39.pyc

a

}|�g�
�@s�dZddlZddlZddlmZddlmZddlmZddl	m
Z
eed�dd	�Zeed
�dd�Z
deeeed�dd�Zeeed�dd�Zeeed�dd�Zejed�dd�ZdS)z#Internal Certbot display utilities.�N)�List)�Optional)�messages)�misc)�msg�returnc	Cs8|��}g}|D]}|�tj|dddd��qd�|�S)z�Format lines nicely to 80 chars.

    :param str msg: Original message

    :returns: Formatted message respecting newlines in message
    :rtype: str

    �PF)Zbreak_long_wordsZbreak_on_hyphens�
)�
splitlines�append�textwrap�fill�join)r�linesZfixed_l�line�r�B/usr/lib/python3.9/site-packages/certbot/_internal/display/util.py�
wrap_liness	�
r)�labelrcCsdj|d|dd�d�S)znPlace parens around first character of label.

    :param str label: Must contain at least one character

    z({first}){rest}r�N)�first�rest)�format)rrrr�parens_around_char!sr���@)�prompt�timeoutrcCs8|rtj�|�tj��t�||�}|s.t�|�d�S)aGet user input with a timeout.

    Behaves the same as the builtin input, however, an error is raised if
    a user doesn't answer after timeout seconds. The default timeout
    value was chosen to place it just under 12 hours for users following
    our advice and running Certbot twice a day.

    :param str prompt: prompt to provide for input
    :param float timeout: maximum number of seconds to wait for input

    :returns: user response
    :rtype: str

    :raises errors.Error if no answer is given before the timeout

    r	)�sys�stdout�write�flushrZreadline_with_timeout�EOFError�rstrip)rrrrrr�input_with_timeout*s
r#)�input_rcCs|�dd�}dd�|��D�S)z�Separate a comma or space separated list.

    :param str input_: input from the user

    :returns: strings
    :rtype: list

    �,� cSsg|]}t|��qSr)�str)�.0�stringrrr�
<listcomp>T�z'separate_list_input.<locals>.<listcomp>)�replace�split)r$Z	no_commasrrr�separate_list_inputHs	r.)�domainsrcCsJ|sdSt|�}|dkr |dS|dkr2d�|�Sd�|d|d�SdS)aMSummarizes a list of domains in the format of:
        example.com.com and N more domains
    or if there is are only two domains:
        example.com and www.example.com
    or if there is only one domain:
        example.com

    :param list domains: `str` list of domains
    :returns: the domain list summary
    :rtype: str
    �rr�z and z{0} and {1} more domainsN)�lenrr)r/�lengthrrr�summarize_domain_listWs
r4)�errorrcCs:|j|jf}t|�r(d�dd�|D��S|jr4|jS|jS)z�Returns a human-readable description of an RFC7807 error.

    :param error: The ACME error
    :returns: a string describing the error, suitable for human consumption.
    :rtype: str
    z :: css|]}|dur|VqdS)Nr)r(�partrrr�	<genexpr>xr+z&describe_acme_error.<locals>.<genexpr>)�titleZdetail�anyr�description�typ)r5�partsrrr�describe_acme_errorosr=)Nr)�__doc__rr�typingrrZacmerZ
acme_messagesZcertbot.compatrr'rr�floatr#r.r4�Errorr=rrrr�<module>s	
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg