l2tscaffolder.frontend package

Submodules

l2tscaffolder.frontend.cli_output_handler module

The output file handler for click

class l2tscaffolder.frontend.cli_output_handler.OutputHandlerClick[source]

Bases: l2tscaffolder.frontend.output_handler.BaseOutputHandler

Output handler for click.

Confirm(text: str, default=True, abort=True)[source]

Returns a bool from a yes/no question presented to the end user.

Parameters:
  • text (str) – the question presented to the end user.
  • default (bool) – the default for the confirmation answer. If True the default is Y(es), if False the default is N(o)
  • abort (bool) – if the program should abort if the user answer to the confirm prompt is no. The default is an abort.
Returns:

False if the user entered no, True if the user entered yes

Return type:

bool

PrintError(text: str)[source]

Presents an error message.

Parameters:text (str) – the error message to present.
PrintInfo(text: str)[source]

Presents the user with an informational text.

Parameters:text (str) – the text to present.
PrintNewLine()[source]

Adds a new or blank line to the output.

PrintOutput(text: str)[source]

Presents the user with output from the tool.

Parameters:text (str) – the text to present the user with.
PromptError(text: str) → str[source]

Presents the user with an error message and return back the answer.

Parameters:text (str) – the text to prompt
Returns:the user input
Return type:str
PromptInfo(text: str) → str[source]

Presents the user with a message prompt and return back the answer.

Parameters:text (str) – the text to prompt
Returns:the user input
Return type:str
PromptInfoWithDefault(text: str, input_type: type, default: object) → object[source]

Presents the user with a prompt with a default return value and a type.

The prompt can have a default value to be chosen as well as a defined type of the returned data.

Parameters:
  • text (str) – the text to prompt
  • input_type (type) – the type of the input
  • default (object) – the default value
Returns:

the user input, using the supplied input type.

Return type:

object

l2tscaffolder.frontend.frontend module

The scaffolder frontend.

class l2tscaffolder.frontend.frontend.ScaffolderFrontend(output_handler: l2tscaffolder.frontend.output_handler.BaseOutputHandler)[source]

Bases: object

A frontend implementation for the scaffolder project.

CreateGitFeatureBranch(project_path: str, module_name: str)[source]

Creates a feature branch inside the git project.

Creates a feature branch inside the git project path to store all the generated files in.

Parameters:
  • project_path (str) – path to the git project folder.
  • module_name (str) – name of the output module.
GatherScaffolderAnswers(scaffolder, scaffolder_engine)[source]

Asks all questions that scaffolder requires and store the results in it.

Parameters:
  • scaffolder (scaffolder_interface.Scaffolder) – the scaffolder that stores all required questions and stores all results as well.
  • scaffolder_engine (scaffolder_engine.ScaffolderEngine) – the scaffolder engine object, needed to store answers from questions asked.
Raises:

UnableToConfigure – if the answer causes the scaffolder not to be configured properly.

GetDefinition(definition_string: str) → l2tscaffolder.definitions.interface.ScaffolderDefinition[source]

Returns the definition object as chosen by the user.

Parameters:definition_string (str) – definition name, read from user input.
Returns:the chosen definition object.
Return type:definition_interface.ScaffolderDefinition
GetModuleName() → str[source]

Returns the module name as chosen by the user.

GetProjectPath(definition: l2tscaffolder.definitions.interface.ScaffolderDefinition) → str[source]

Returns the path to the project’s root folder as chosen by the user.

Parameters:definition (definition_interface.ScaffolderDefinition) – the chosen definition. Used to validate the project path.
Returns:the path to the project’s root folder.
Return type:str
Raises:errors.WrongCliInput – when no valid project path has been provided.
GetScaffolder(definition: l2tscaffolder.definitions.interface.ScaffolderDefinition) → l2tscaffolder.scaffolders.interface.Scaffolder[source]

Returns the scaffolder as chosen by the user.

Parameters:definition (definition_interface.ScaffolderDefinition) – the chosen definition. Used to determine available scaffolders.
Returns:the chosen scaffolder object.
Return type:scaffolder_interface.ScaffolderCli
Start(definition_value)[source]

Start the CLI.

Parameters:definition_value (str) – the definition string chosen by UI.

l2tscaffolder.frontend.output_handler module

The output file handler.

This file defines the interface of how an output handler should operate. An output handler is used as a UI element, for two things: 1. Relay information back to the user. 2. Gather input from an end user and presenting it back to the tool.

class l2tscaffolder.frontend.output_handler.BaseOutputHandler[source]

Bases: object

Interface for the output handler.

Confirm(text: str, default=True, abort=True)[source]

Returns a bool from a yes/no question presented to the end user.

Parameters:
  • text (str) – the question presented to the end user.
  • default (bool) – the default for the confirmation answer. If True the default is Y(es), if False the default is N(o)
  • abort (bool) – if the program should abort if the user answer to the confirm prompt is no. The default is an abort.
Returns:

False if the user entered no, True if the user entered yes

Return type:

bool

PrintError(text: str)[source]

Presents an error message.

Parameters:text (str) – the error message to present.
PrintInfo(text: str)[source]

Presents the user with an informational text.

Parameters:text (str) – the text to present.
PrintNewLine()[source]

Adds a new or blank line to the output.

PrintOutput(text: str)[source]

Presents the user with output from the tool.

Parameters:text (str) – the text to present the user with.
PromptError(text: str) → str[source]

Presents the user with an error message prompt and returns the answer.

Parameters:text (str) – the text to prompt
Returns:the user input.
Return type:str
PromptInfo(text: str) → str[source]

Presents the user with a message prompt and return back the answer.

Parameters:text (str) – the text to prompt
Returns:the user input.
Return type:str
PromptInfoWithDefault(text: str, input_type: type, default: object) → object[source]

Presents the user with a prompt with a default return value and a type.

The prompt can have a default value to be chosen as well as a defined type of the returned data.

Parameters:
  • text (str) – the text to prompt
  • input_type (type) – the type of the input
  • default (object) – the default value
Returns:

the user input, using the supplied input type.

Return type:

object

Module contents