mirror of
https://github.com/certbot/certbot.git
synced 2026-08-03 03:41:53 +02:00
Add default-handling to the iDisplay interface
(and the other iDisplay implementations)
This commit is contained in:
+18
-10
@@ -63,8 +63,8 @@ class NcursesDisplay(object):
|
|||||||
"""
|
"""
|
||||||
self.dialog.msgbox(message, height, width=self.width)
|
self.dialog.msgbox(message, height, width=self.width)
|
||||||
|
|
||||||
def menu(self, message, choices,
|
def menu(self, message, choices, ok_label="OK", cancel_label="Cancel",
|
||||||
ok_label="OK", cancel_label="Cancel", help_label=""):
|
help_label="", **_kwargs):
|
||||||
"""Display a menu.
|
"""Display a menu.
|
||||||
|
|
||||||
:param str message: title of menu
|
:param str message: title of menu
|
||||||
@@ -75,6 +75,7 @@ class NcursesDisplay(object):
|
|||||||
|
|
||||||
:param str ok_label: label of the OK button
|
:param str ok_label: label of the OK button
|
||||||
:param str help_label: label of the help button
|
:param str help_label: label of the help button
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: tuple of the form (`code`, `tag`) where
|
:returns: tuple of the form (`code`, `tag`) where
|
||||||
`code` - `str` display_util exit code
|
`code` - `str` display_util exit code
|
||||||
@@ -119,10 +120,11 @@ class NcursesDisplay(object):
|
|||||||
return code, int(tag) - 1
|
return code, int(tag) - 1
|
||||||
|
|
||||||
|
|
||||||
def input(self, message):
|
def input(self, message, **_kwargs):
|
||||||
"""Display an input box to the user.
|
"""Display an input box to the user.
|
||||||
|
|
||||||
:param str message: Message to display that asks for input.
|
:param str message: Message to display that asks for input.
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: tuple of the form (code, string) where
|
:returns: tuple of the form (code, string) where
|
||||||
`code` - int display exit code
|
`code` - int display exit code
|
||||||
@@ -136,7 +138,7 @@ class NcursesDisplay(object):
|
|||||||
return self.dialog.inputbox(message, width=self.width, height=height)
|
return self.dialog.inputbox(message, width=self.width, height=height)
|
||||||
|
|
||||||
|
|
||||||
def yesno(self, message, yes_label="Yes", no_label="No"):
|
def yesno(self, message, yes_label="Yes", no_label="No", **_kwargs):
|
||||||
"""Display a Yes/No dialog box.
|
"""Display a Yes/No dialog box.
|
||||||
|
|
||||||
Yes and No label must begin with different letters.
|
Yes and No label must begin with different letters.
|
||||||
@@ -144,6 +146,7 @@ class NcursesDisplay(object):
|
|||||||
:param str message: message to display to user
|
:param str message: message to display to user
|
||||||
:param str yes_label: label on the "yes" button
|
:param str yes_label: label on the "yes" button
|
||||||
:param str no_label: label on the "no" button
|
:param str no_label: label on the "no" button
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: if yes_label was selected
|
:returns: if yes_label was selected
|
||||||
:rtype: bool
|
:rtype: bool
|
||||||
@@ -153,13 +156,14 @@ class NcursesDisplay(object):
|
|||||||
message, self.height, self.width,
|
message, self.height, self.width,
|
||||||
yes_label=yes_label, no_label=no_label)
|
yes_label=yes_label, no_label=no_label)
|
||||||
|
|
||||||
def checklist(self, message, tags, default_status=True):
|
def checklist(self, message, tags, default_status=True, **_kwargs):
|
||||||
"""Displays a checklist.
|
"""Displays a checklist.
|
||||||
|
|
||||||
:param message: Message to display before choices
|
:param message: Message to display before choices
|
||||||
:param list tags: where each is of type :class:`str` len(tags) > 0
|
:param list tags: where each is of type :class:`str` len(tags) > 0
|
||||||
:param bool default_status: If True, items are in a selected state by
|
:param bool default_status: If True, items are in a selected state by
|
||||||
default.
|
default.
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
|
|
||||||
:returns: tuple of the form (code, list_tags) where
|
:returns: tuple of the form (code, list_tags) where
|
||||||
@@ -199,8 +203,8 @@ class FileDisplay(object):
|
|||||||
if pause:
|
if pause:
|
||||||
raw_input("Press Enter to Continue")
|
raw_input("Press Enter to Continue")
|
||||||
|
|
||||||
def menu(self, message, choices,
|
def menu(self, message, choices, ok_label="", cancel_label="",
|
||||||
ok_label="", cancel_label="", help_label=""):
|
help_label="", **_kwargs):
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
"""Display a menu.
|
"""Display a menu.
|
||||||
|
|
||||||
@@ -211,6 +215,7 @@ class FileDisplay(object):
|
|||||||
:param choices: Menu lines, len must be > 0
|
:param choices: Menu lines, len must be > 0
|
||||||
:type choices: list of tuples (tag, item) or
|
:type choices: list of tuples (tag, item) or
|
||||||
list of descriptions (tags will be enumerated)
|
list of descriptions (tags will be enumerated)
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: tuple of the form (code, tag) where
|
:returns: tuple of the form (code, tag) where
|
||||||
code - int display exit code
|
code - int display exit code
|
||||||
@@ -224,11 +229,12 @@ class FileDisplay(object):
|
|||||||
|
|
||||||
return code, selection - 1
|
return code, selection - 1
|
||||||
|
|
||||||
def input(self, message):
|
def input(self, message, **_kwargs):
|
||||||
# pylint: disable=no-self-use
|
# pylint: disable=no-self-use
|
||||||
"""Accept input from the user.
|
"""Accept input from the user.
|
||||||
|
|
||||||
:param str message: message to display to the user
|
:param str message: message to display to the user
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: tuple of (`code`, `input`) where
|
:returns: tuple of (`code`, `input`) where
|
||||||
`code` - str display exit code
|
`code` - str display exit code
|
||||||
@@ -244,7 +250,7 @@ class FileDisplay(object):
|
|||||||
else:
|
else:
|
||||||
return OK, ans
|
return OK, ans
|
||||||
|
|
||||||
def yesno(self, message, yes_label="Yes", no_label="No"):
|
def yesno(self, message, yes_label="Yes", no_label="No", **_kwargs):
|
||||||
"""Query the user with a yes/no question.
|
"""Query the user with a yes/no question.
|
||||||
|
|
||||||
Yes and No label must begin with different letters, and must contain at
|
Yes and No label must begin with different letters, and must contain at
|
||||||
@@ -253,6 +259,7 @@ class FileDisplay(object):
|
|||||||
:param str message: question for the user
|
:param str message: question for the user
|
||||||
:param str yes_label: Label of the "Yes" parameter
|
:param str yes_label: Label of the "Yes" parameter
|
||||||
:param str no_label: Label of the "No" parameter
|
:param str no_label: Label of the "No" parameter
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: True for "Yes", False for "No"
|
:returns: True for "Yes", False for "No"
|
||||||
:rtype: bool
|
:rtype: bool
|
||||||
@@ -279,13 +286,14 @@ class FileDisplay(object):
|
|||||||
ans.startswith(no_label[0].upper())):
|
ans.startswith(no_label[0].upper())):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def checklist(self, message, tags, default_status=True):
|
def checklist(self, message, tags, default_status=True, **_kwargs):
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
"""Display a checklist.
|
"""Display a checklist.
|
||||||
|
|
||||||
:param str message: Message to display to user
|
:param str message: Message to display to user
|
||||||
:param list tags: `str` tags to select, len(tags) > 0
|
:param list tags: `str` tags to select, len(tags) > 0
|
||||||
:param bool default_status: Not used for FileDisplay
|
:param bool default_status: Not used for FileDisplay
|
||||||
|
:param dict _kwargs: absorbs default / cli_args
|
||||||
|
|
||||||
:returns: tuple of (`code`, `tags`) where
|
:returns: tuple of (`code`, `tags`) where
|
||||||
`code` - str display exit code
|
`code` - str display exit code
|
||||||
|
|||||||
@@ -365,8 +365,8 @@ class IDisplay(zope.interface.Interface):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def menu(message, choices,
|
def menu(message, choices, ok_label="OK", # pylint: disable=too-many-arguments
|
||||||
ok_label="OK", cancel_label="Cancel", help_label=""):
|
cancel_label="Cancel", help_label="", default=None, cli_flag=None):
|
||||||
"""Displays a generic menu.
|
"""Displays a generic menu.
|
||||||
|
|
||||||
:param str message: message to display
|
:param str message: message to display
|
||||||
@@ -377,6 +377,8 @@ class IDisplay(zope.interface.Interface):
|
|||||||
:param str ok_label: label for OK button
|
:param str ok_label: label for OK button
|
||||||
:param str cancel_label: label for Cancel button
|
:param str cancel_label: label for Cancel button
|
||||||
:param str help_label: label for Help button
|
:param str help_label: label for Help button
|
||||||
|
:param str default: default (non-interactive) choice from the menu
|
||||||
|
:param str cli_flag: to automate choice from the menu, eg "--keep"
|
||||||
|
|
||||||
:returns: tuple of (`code`, `index`) where
|
:returns: tuple of (`code`, `index`) where
|
||||||
`code` - str display exit code
|
`code` - str display exit code
|
||||||
@@ -384,7 +386,7 @@ class IDisplay(zope.interface.Interface):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def input(message):
|
def input(message, default=None, cli_args=None):
|
||||||
"""Accept input from the user.
|
"""Accept input from the user.
|
||||||
|
|
||||||
:param str message: message to display to the user
|
:param str message: message to display to the user
|
||||||
@@ -396,25 +398,29 @@ class IDisplay(zope.interface.Interface):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def yesno(message, yes_label="Yes", no_label="No"):
|
def yesno(message, yes_label="Yes", no_label="No", default=None,
|
||||||
|
cli_args=None):
|
||||||
"""Query the user with a yes/no question.
|
"""Query the user with a yes/no question.
|
||||||
|
|
||||||
Yes and No label must begin with different letters.
|
Yes and No label must begin with different letters.
|
||||||
|
|
||||||
:param str message: question for the user
|
:param str message: question for the user
|
||||||
|
:param str default: default (non-interactive) choice from the menu
|
||||||
|
:param str cli_flag: to automate choice from the menu, eg "--redirect / --no-redirect"
|
||||||
|
|
||||||
:returns: True for "Yes", False for "No"
|
:returns: True for "Yes", False for "No"
|
||||||
:rtype: bool
|
:rtype: bool
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def checklist(message, tags, default_state):
|
def checklist(message, tags, default_state, default=None, cli_args=None):
|
||||||
"""Allow for multiple selections from a menu.
|
"""Allow for multiple selections from a menu.
|
||||||
|
|
||||||
:param str message: message to display to the user
|
:param str message: message to display to the user
|
||||||
:param list tags: where each is of type :class:`str` len(tags) > 0
|
:param list tags: where each is of type :class:`str` len(tags) > 0
|
||||||
:param bool default_status: If True, items are in a selected state by
|
:param bool default_status: If True, items are in a selected state by default.
|
||||||
default.
|
:param str default: default (non-interactive) state of the checklist
|
||||||
|
:param str cli_flag: to automate choice from the menu, eg "--domains"
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user