leapp.dialogs package
Submodules
leapp.dialogs.components module
- class leapp.dialogs.components.BooleanComponent(key=None, label=None, description=None, default=None, reason=None, values=None)
Bases:
ComponentBooleanComponent is used for boolean inputs such as Yes/No questions.
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
values – Values to use as True and False, first is always True and the second is always False (e.g. Yes/No)
- choices = ('True', 'False')
- dispatch(renderer, dialog)
- value_type
alias of
bool
- values = ('Yes', 'No')
- class leapp.dialogs.components.ChoiceComponent(choices=None, key=None, label=None, description=None, default=None, reason=None)
Bases:
ComponentChoiceComponent is used to give a list of options and allows to select one (like a radio button)
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
choices – Choices that are available to the user
- choices = ()
- dispatch(renderer, dialog)
- multi = False
- value_type
alias of
str
- class leapp.dialogs.components.Component(key=None, label=None, description=None, default=None, reason=None)
Bases:
objectBase class for all components
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
- default = None
- description = None
- dispatch(renderer, dialog)
- key = None
- label = None
- reason = None
- serialize()
- Returns:
Serialized component information
- value = None
- value_type = None
- class leapp.dialogs.components.MultipleChoiceComponent(choices=None, key=None, label=None, description=None, default=None, reason=None)
Bases:
ChoiceComponentMultipleChoiceComponent is used to give a list of options and allows to select more than one (like checkboxes)
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
choices – Choices that are available to the user
- choices = ()
- dispatch(renderer, dialog)
Calls the appropriate rendering implementation on the renderer and passes itself and the dialog instance to it.
- Parameters:
renderer (
leapp.dialogs.renderer.DialogRendererBase) – Renderer instancedialog –
- Returns:
- multi = True
- value_type
alias of
tuple
- class leapp.dialogs.components.NumberComponent(key=None, label=None, description=None, default=None, reason=None)
Bases:
ComponentNumberComponent is used for integer inputs.
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
- default = -1
- dispatch(renderer, dialog)
- value_type
alias of
int
- class leapp.dialogs.components.PasswordComponent(key=None, label=None, description=None, default=None, reason=None)
Bases:
TextComponentPasswordComponent is a text input component which will use non echoing input when possible (see getpass).
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
- dispatch(renderer, dialog)
- label = 'Password'
- value_type
alias of
str
- class leapp.dialogs.components.TextComponent(key=None, label=None, description=None, default=None, reason=None)
Bases:
ComponentTextComponent is a text input component.
- Parameters:
key – Unique key within a dialog scope. Needs to be in the format: [a-zA-Z_][a-zA-Z0-9_]*
label – Label for the input to print
description – Description what this value is used for.
default – Default value to
reason – The reason why we need this value.
- dispatch(renderer, dialog)
- value_type
alias of
str
leapp.dialogs.dialog module
- class leapp.dialogs.dialog.Dialog(scope, reason, title=None, components=None, key=None)
Bases:
objectThe dialog class is used to declare the information passed to the user and retrieved from the user during an interaction.
- Parameters:
scope (str) – Unique scope identifier for the data to be stored in the answer files. Scope + component key is used to address values.
reason (str) – An explanation for what the data in this dialog is needed for.
title (str) – Title of the dialog
components (tuple(leapp.dialogs.components.Component)) – Components to display in the given order in the dialog
key (str) – Key to appear in the dialog-related report entry
- answer(component, value)
Implements storing of answers.
- Parameters:
component – Component for which the answer is set
value – The answer value
- Returns:
None
- property answerfile_sections
- component_by_key(key)
Finds the component with the given key
- Parameters:
key (str) – Key of the component to return
- Returns:
Component found or None
- components = ()
Components to display in the given order in the dialog
- get_answers(store)
Checks answerstore if an answer is recorded for the dialog.
- Parameters:
store – AnswerStore instance
- Returns:
Dictionary with answers once retrieved
- property min_label_width
- Returns:
Returns the highest number of characters all labels in the dialog have, to help calculating the minimum width the labels should have.
- reason = None
An explanation for what the data in this dialog is needed for.
- request_answers(store, renderer)
Same as get_answers but with interactive retrieval of the answer in case no recorded answer found in answerstore.
- Parameters:
store – AnswerStore instance
renderer – Target renderer instance
- Returns:
Dictionary with answers once retrieved
- scope = None
Unique scope identifier for the data to be stored in the answer files. Scope + component key is used to address values.
- serialize()
- Returns:
Dictionary with the serialized representation of a component
- title = None
Title of the dialog
leapp.dialogs.renderer module
- class leapp.dialogs.renderer.CommandlineRenderer
Bases:
DialogRendererBaseCommandlineRenderer implements the handling for commandline user interactions.
- render(dialog)
Renders the given dialog
- Parameters:
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_bool_component(component, dialog)
Renders the boolean component for displaying Yes/No questions
- Parameters:
component (leapp.dialogs.components.BooleanComponent) – The boolean component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_choice_component(component, dialog)
Renders the choices component
- Parameters:
component (leapp.dialogs.components.ChoicesComponent) – The choices component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_multiple_choice_component(component, dialog)
Renders the multiple choices component
- Parameters:
component (leapp.dialogs.components.MultipleChoiceComponent) – The multiple choices component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_number_component(component, dialog)
Renders the number component
- Parameters:
component (leapp.dialogs.components.NumberComponent) – The number component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_password_component(component, dialog)
Renders the password component
- Parameters:
component (leapp.dialogs.components.PasswordComponent) – The password component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_text_component(component, dialog)
Renders the text component
- Parameters:
component (leapp.dialogs.components.TextComponent) – The text component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- class leapp.dialogs.renderer.DialogRendererBase
Bases:
objectBase class for all renderer implementations
- render(dialog)
Renders the given dialog
- Parameters:
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_bool_component(component, dialog)
Renders the boolean component for displaying Yes/No questions
- Parameters:
component (leapp.dialogs.components.BooleanComponent) – The boolean component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_choice_component(component, dialog)
Renders the choices component
- Parameters:
component (leapp.dialogs.components.ChoicesComponent) – The choices component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_multiple_choice_component(component, dialog)
Renders the multiple choices component
- Parameters:
component (leapp.dialogs.components.MultipleChoiceComponent) – The multiple choices component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_number_component(component, dialog)
Renders the number component
- Parameters:
component (leapp.dialogs.components.NumberComponent) – The number component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_password_component(component, dialog)
Renders the password component
- Parameters:
component (leapp.dialogs.components.PasswordComponent) – The password component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
- render_text_component(component, dialog)
Renders the text component
- Parameters:
component (leapp.dialogs.components.TextComponent) – The text component to render
dialog (leapp.dialogs.dialog.Dialog) – The dialog to render
- Returns:
None
Module contents
- class leapp.dialogs.RawMessageDialog(message)
Bases:
DialogReusable message dialog. - This sends a message to the user only without any special formatting.
- Parameters:
scope (str) – Unique scope identifier for the data to be stored in the answer files. Scope + component key is used to address values.
reason (str) – An explanation for what the data in this dialog is needed for.
title (str) – Title of the dialog
components (tuple(leapp.dialogs.components.Component)) – Components to display in the given order in the dialog
key (str) – Key to appear in the dialog-related report entry
- request_answers(store, renderer)
- Parameters:
store – AnswerStore instance
renderer – Target renderer instance
- Returns:
Dictionary with answers once retrieved
- title = ''
Title of the dialog
- class leapp.dialogs.UsernamePasswordDialog(scope, reason, title=None, components=None, key=None)
Bases:
DialogReusable username and password request dialog.
- Parameters:
scope (str) – Unique scope identifier for the data to be stored in the answer files. Scope + component key is used to address values.
reason (str) – An explanation for what the data in this dialog is needed for.
title (str) – Title of the dialog
components (tuple(leapp.dialogs.components.Component)) – Components to display in the given order in the dialog
key (str) – Key to appear in the dialog-related report entry
- components = (<leapp.dialogs.components.TextComponent object>, <leapp.dialogs.components.PasswordComponent object>)
Components to display in the given order in the dialog
- title = 'Please enter username and password'
Title of the dialog