feature: update I/O methods to use questionary where applicable #2

Merged
jt merged 14 commits from feature/refactor-use-questionary-package into main 2026-07-18 01:12:23 +00:00
Showing only changes of commit ba1c9bd68d - Show all commits
+16 -6
View File
@@ -17,8 +17,11 @@ def new():
if branch not in base.environments: if branch not in base.environments:
base.io_warning("La rama actual no corresponde a un entorno configurado.") base.io_warning("La rama actual no corresponde a un entorno configurado.")
base.io_info("Se creará una nueva rama de trabajo sobre la rama actual.\n" base.io_info(
"Debe seleccionar el tipo de cambio a realizar.", title="Tipo de cambio") "Se creará una nueva rama de trabajo sobre la rama actual.\n"
"Debe seleccionar el tipo de cambio a realizar.",
title="Tipo de cambio",
)
branch_type = base.io_choice("Tipos de cambio", BRANCH_TYPES) branch_type = base.io_choice("Tipos de cambio", BRANCH_TYPES)
ticket = _get_optional_ticket() ticket = _get_optional_ticket()
@@ -30,15 +33,20 @@ def new():
if base.io_confirm(f"¿Crear rama '{new_branch}' sobre la rama actual?"): if base.io_confirm(f"¿Crear rama '{new_branch}' sobre la rama actual?"):
Git("switch", new_branch, create=True).exec(print="Creando nueva rama") Git("switch", new_branch, create=True).exec(print="Creando nueva rama")
def _get_optional_ticket() -> Optional[str]: def _get_optional_ticket() -> Optional[str]:
return base.io_prompt( return base.io_prompt(
"Ticket que respalda el cambio (en formato ABC-123)", "Ticket que respalda el cambio (en formato ABC-123)",
validator=lambda x: len(x.strip()) == 0 or base.is_valid_ticket(x) validator=lambda x: len(x.strip()) == 0 or base.is_valid_ticket(x),
) )
def _get_unique_branch_name(branch_type: str, ticket: Optional[str]) -> str: def _get_unique_branch_name(branch_type: str, ticket: Optional[str]) -> str:
base.io_info(f"Ingrese las palabras clave que describan el cambio de tipo '{branch_type}'.\n" base.io_info(
"Las mismas se utilizaran para generar el nombre de la rama.", title="Nombre de rama") f"Ingrese las palabras clave que describan el cambio de tipo '{branch_type}'.\n"
"Las mismas se utilizaran para generar el nombre de la rama.",
title="Nombre de rama",
)
branch = None branch = None
branches = Git.get_branches() branches = Git.get_branches()
@@ -46,7 +54,9 @@ def _get_unique_branch_name(branch_type: str, ticket: Optional[str]) -> str:
keywords = base.io_prompt("Palabras clave", persistent=True) keywords = base.io_prompt("Palabras clave", persistent=True)
keywords = filter(lambda k: len(k) > 0, keywords.split(" ")) keywords = filter(lambda k: len(k) > 0, keywords.split(" "))
branch = branch_type + "/" + (ticket + "-" if ticket else "") + "-".join(keywords) branch = (
branch_type + "/" + (ticket + "-" if ticket else "") + "-".join(keywords)
)
if branch in branches: if branch in branches:
base.io_error( base.io_error(