Spade

Mini Shell

Directory:~$ /lib/python2.7/site-packages/certbot/display/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //lib/python2.7/site-packages/certbot/display/ops.pyc

�
���_c@s)dZddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZeje
�ZejjZeed�Zd�Zdd	�Zdd
�Zd�Zd�Zdd
�Zdd�Zd�Zd�Zd�Zd�Z
dd�Z!d�Z"d�Z#dS(s+Contains UI methods for LE user
operations.i����N(terrors(t
interfaces(tutil(toscCs&d}d}d}|r:|r1||7}t}q@t}nt}x�tr!y8ttj�j|rk||n|dt�\}}Wn)tjk
r�d}tj|��nX|tj	kr�|r�tj
d��ntj
d��ntj|�r�|S|r||}t}nt
|�}qCWdS(	sJPrompt for
valid email address.

    :param bool invalid: True if an invalid address was provided by the
user
    :param bool optional: True if the user can use
        --register-unsafely-without-email to avoid providing an e-mail

    :returns: e-mail address
    :rtype: str

    :raises errors.Error: if the user cancels

    s-There seem to be problems with that address. sCEnter email address
(used for urgent renewal and security notices)
s

If you really want to skip this, you can run the client with
--register-unsafely-without-email but you will then be unable to receive
notice about impending expiration or revocation of your certificates or
problems with your Certbot installation that will lead to failure to renew.

tforce_interactivesoYou should register before running non-interactively,
or provide --agree-tos and --email <email_address> flags.sHAn e-mail
address or --register-unsafely-without-email must be provided.s#An e-mail
address must be
provided.N(tFalsetTruetz_utilRtIDisplaytinputRtMissingCommandlineFlagtdisplay_utiltOKtErrorRt
safe_emailtbool(tinvalidtoptionaltinvalid_prefixtmsgtunsafe_suggestiontsuggest_unsafetcodetemail((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt	get_emails8

			
	cCs^g|D]}|j^q}ttj�jd|dt�\}}|tjkrZ||SdS(sChoose
an account.

    :param list accounts: Containing at least one
        :class:`~certbot._internal.account.Account`

    sPlease choose an
accountRN(	tslugRRRtmenuRRRtNone(taccountstacctlabelsRtindex((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytchoose_accountIscCsGttj�j|d|dt�\}}|tjkrC|rC|SgS(s�Display
screen to let user pick one or multiple values from the provided
    list.

    :param list values: Values to select from

    :returns: List of selected values
    :rtype: list
   
ttagsR(RRRt	checklistRRR(tvaluestquestionRtitems((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt
choose_valuesYs
	cCs�|dkr
tjd�t�St|j��}t|�}|sNtd�St||�\}}|tj	kr||r||SgS(sRDisplay
screen to select domains to validate.

    :param installer: An installer object
    :type installer: :class:`certbot.interfaces.IInstaller`

    :param `str` question: Overriding default question to ask the user if
asked
        to choose from domain names.

    :returns: List of selected names
    :rtype: `list` of `str`

    s$No installer, picking names manuallys1No names were found in your
configuration files. N(
Rtloggertdebugt_choose_names_manuallytlistt
get_all_namestget_valid_domainst
_filter_namesRR(t	installerR$tdomainstnamesR((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytchoose_nameshs

cCsOg}xB|D]:}y|jtj|��Wq
tjk
rFq
q
Xq
W|S(s�Helper method for choose_names that implements basic
checks
     on domain names

    :param list domains: Domain names to validate
    :return: List of valid domains
    :rtype: list
   
(tappendRtenforce_domain_sanityRtConfigurationError(R/t
valid_domainstdomain((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyR,�s
cCst|dd��S(s�Sort
FQDNs by SLD (and if many, by their subdomains)

    :param list FQDNs: list of domain names

    :returns: Sorted list of domain names
    :rtype: list
   
tkeycSs|jd�ddd�dS(Nt.i����i(tsplit(tfqdn((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt<lambda>�s(tsorted(tFQDNs((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt_sort_names�scCstt|�}|r|}nd}ttj�j|d|dddt�\}}|g|D]}t|�^q[fS(sDetermine
which names the user would like to select from a list.

    :param list names: domain names

    :returns: tuple of the form (`code`, `names`) where
        `code` - str display exit code
        `names` - list of names selected
    :rtype: tuple

    s1Which names would you like to activate HTTPS
for?R!tcli_flags	--domainsR(R>RRRR"Rtstr(R0toverride_questiontsorted_namesR$Rts((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyR-�s	!tc
Cs�ttj�j|ddddt�\}}|tjkr�i}d}ytj|�}Wn)tk
r�g}dj	t
j�}nXxZt|�D]L\}}yt
j|�||<Wq�tjk
r�}t|�||<q�Xq�W|rGdj	t
j�}x.|D]&}|dj	t
j|||�}qW|d	j	t
j�}n|r{ttj�j|dt�}	|	rt�Sq�|SngS(
s�Manually input names for those without an installer.

    :param str prompt_prefix: string to prepend to prompt for domains

    :returns: list of provided names
    :rtype: `list` of `str`

    sCPlease enter in your domain name(s) (comma and/or space separated)
R?s	--domainsRRDsiInternationalized domain names are not presently
supported.{0}{0}Would you like to re-enter the names?{0}s<One or more of
the entered domain names was not valid:{0}{0}s{1}: {2}{0}s+{0}Would you
like to re-enter the
names?{0}(RRRR	RRRtseparate_list_inputtUnicodeEncodeErrortformatRtlinesept	enumerateRR3RR4R@tyesnoR)(
t
prompt_prefixRtinput_tinvalid_domainst
retry_messagetdomain_listtiR6tetretry((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyR)�sD	

		
cCs/ttj�jdjt|��dt�dS(ssDisplay a box
confirming the installation of HTTPS.

    :param list domains: domain names which were enabled

    s2Congratulations! You have successfully enabled
{0}tpauseN(RRRtnotificationRGt_gen_https_namesR(R/((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytsuccess_installation�scCs5ttj�jdjt|�tj�dt�dS(s�Display
a box confirming the renewal of an existing certificate.

    :param list domains: domain names which were renewed

    s�Your existing certificate has been successfully renewed, and the
new certificate has been installed.{1}{1}The new certificate covers the
following domains:
{0}RSN(	RRRRTRGRURRHR(R/((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytsuccess_renewal�s
	cCstjdj|��dS(s�Display a message confirming a
certificate has been revoked.

    :param list cert_path: path to certificate which was revoked.

    sWCongratulations! You have successfully revoked the certificate that
was located at
{0}.N(RtnotifyRG(t	cert_path((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytsuccess_revocationscCs�t|�dkr#dj|d�St|�dkrEdjd|�St|�dkr�djdjd	�|d
 D��d|d
�SdS(
s�Returns a string of the https domains.

    Domains are formatted nicely with ``https://`` prepended to each.

    :param list domains: Each domain is a 'str'

    ishttps://{0}iis%https://{dom[0]} and
https://{dom[1]}tdoms	{0}{1}{2}s, css|]}d|VqdS(s
https://%sN((t.0R[((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pys	<genexpr>"si����s,
and
https://RD(tlenRGtjoin(R/((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyRUscKs|dk	rdy||�Wqdtjk
r`}tjd||dt�tdj|���qdXnx�tr||d||�\}}|tj	kry||�||fSWqtjk
r}tjd||dt�t
jjt
j�jt|�dt�qXqg||fSqgWdS(Ns>Encountered
invalid default value "%s" when prompting for
"%s"texc_infosInvalid default
"{0}"tdefaults/Validator rejected "%s" when prompting
for
"%s"RS(RRR
R'R(RtAssertionErrorRGRRtzopet	componentt
getUtilityRRRTR@R(tmethodt	validatortmessageR`tkwargsterrorRtraw((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt_get_validated)s,		
	/cOs%ttjjtj�j|||�S(s
Like `~certbot.interfaces.IDisplay.input`, but with validation.

    :param callable validator: A method which will be called on the
        supplied input. If the method raises an `errors.Error`, its
        text will be displayed and the user will be re-prompted.
    :param list `*args`: Arguments to be passed to
`~certbot.interfaces.IDisplay.input`.
    :param dict `**kwargs`: Arguments to be passed to
`~certbot.interfaces.IDisplay.input`.
    :return: as `~certbot.interfaces.IDisplay.input`
    :rtype: tuple
   
(RkRbRcRdRRR	(RftargsRh((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytvalidated_inputDscOs%ttjjtj�j|||�S(s>Like
`~certbot.interfaces.IDisplay.directory_select`, but with validation.

    :param callable validator: A method which will be called on the
        supplied input. If the method raises an `errors.Error`, its
        text will be displayed and the user will be re-prompted.
    :param list `*args`: Arguments to be passed to
`~certbot.interfaces.IDisplay.directory_select`.
    :param dict `**kwargs`: Arguments to be passed to
        `~certbot.interfaces.IDisplay.directory_select`.
    :return: as `~certbot.interfaces.IDisplay.directory_select`
    :rtype: tuple
   
(RkRbRcRdRRtdirectory_select(RfRlRh((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pytvalidated_directorySs($t__doc__tloggingtzope.componentRbtcertbotRRRtcertbot.compatRtcertbot.displayRt	getLoggert__name__R'RcRdRRRRR
RR&R1R,R>R-R)RVRWRZRURkRmRo(((s7/usr/lib/python2.7/site-packages/certbot/display/ops.pyt<module>s07			6