CLI#

moe.cli

Entry point for the CLI.

This module deals with parsing the arguments of moe and related functionality. For general shared CLI functionality, see the moe.util.cli package.

Util#

moe.util.cli

This package contains shared functionality for the CLI.

class PromptChoice(title: str, shortcut_key: str, func: Callable)#

Bases: object

A single, user-selectable choice for a CLI prompt.

title#

Title of the prompt choice that is displayed to the user.

Type:

str

shortcut_key#

Single character the user will use to select the choice.

Important

Ensure each shortcut key is not in use by another PromptChoice.

Type:

str

func#

The function that should get called if a choice is selected. The definition for how to call func should be specified by the plugin.

Type:

Callable

choice_prompt(prompt_choices: list[PromptChoice], question: str = 'What do you want to do?') PromptChoice#

Generates a user choice prompt.

Parameters:
  • prompt_choices – Prompt choices to be used.

  • question – Question prompted to the user.

Returns:

The chosen prompt choice.

Raises:

SystemExit – Invalid user input.

cli_query(session: Session, query_str: str, query_type: str) list[Album] | list[Extra] | list[Track]#

Wrapper around the core query call, with some added cli error handling.

Parameters:
  • session – Library db session.

  • query_str – Query string to parse. See the query docs for more info.

  • query_type – Type of library item to return: either ‘album’, ‘extra’, or ‘track’.

Returns:

All items matching the given query found in args.

Raises:

SystemExit – QueryError or no items returned from the query.

See also

The query docs

query_parser#

Argument parser for a query.

Passing this parser as a parent to your command allows your command to accept queries.

Example

ls_parser = cmd_parsers.add_parser(
    "list",
    description="Lists music in the library.",
    help="list music in the library",
    parents=[query_parser],
)

Given parsed commandline arguments as args, you can then access the given query string as args.query and the query type as args.query_type. Both options can be passed directly to moe.query.query() or moe.util.cli.cli_query().