refactor: use new base.io_ methods

This commit is contained in:
jt
2026-07-16 22:08:46 -03:00
parent febd18c3b3
commit 0120faac9e
+22 -20
View File
@@ -2,7 +2,7 @@ import typer
from git_flow import FLOWCONFIG_FILENAME, FLOWCONFIG_VERSION, GitFlowError
from git_flow.git import Git
from git_flow.command.base import *
import git_flow.command.base as base
app = typer.Typer()
@@ -36,32 +36,32 @@ def init():
def _ensure_is_repository():
if not Git.is_repository():
warning("El directorio actual no es un repositorio.")
base.io_warning("El directorio actual no es un repositorio.")
if not confirm("¿Desea inicializarlo?"):
if not base.io_confirm("¿Desea inicializarlo?"):
raise GitFlowError("No se puede continuar sin inicializar el repositorio")
Git("init").exec()
def _ensure_not_already_initialized():
if not flowconfig:
if not base.flowconfig:
return
elif flowconfig.get("flow.initialized") == "true":
elif base.flowconfig.get("flow.initialized") == "true":
raise GitFlowError("El repositorio ya fue inicializado para usar git-flow")
else:
raise GitFlowError("Valor de 'flow.initialized' es inválido")
def _setup_flow_branches():
panel(
"Configuración de entornos",
base.io_info(
"""Ingrese las ramas que representan los entornos de deploy del proyecto
en orden creciente de cercanía al entorno productivo, y separados por
coma. Por ejemplo: "dev, test, prod".""",
title = "Configuración de entornos"
)
branches = list(map(lambda b: b.strip(), prompt("Ramas", "main").split(",")))
branches = list(map(lambda b: b.strip(), base.io_prompt("Ramas", "main").split(",")))
if not all(branches):
raise GitFlowError("No puede ingresar una rama vacia")
@@ -70,21 +70,23 @@ coma. Por ejemplo: "dev, test, prod".""",
def _setup_flow_remote():
panel(
"Configuración de remoto",
"Puede configurar un repositorio remoto para generar PRs automáticamente",
base.io_info(
"""Configurar un repositorio remoto le permite generar PRs automáticamente para el
entorno correspondiente. Deberá seleccionar uno de los remotos actuales, o crear
uno nuevo.""",
title = "Configuración de remoto",
)
remote = None
remote_type = None
if confirm("¿Configurar repositorio remoto?"):
if base.io_confirm("¿Configurar repositorio remoto?"):
remotes = Git("remote").lines(print="Listando remotos disponibles")
if not remotes:
info("No tiene ningún repositorio remoto, se creará uno.")
base.io_info("No tiene ningún repositorio remoto, se creará uno.")
url = prompt(
url = base.io_prompt(
"Ingrese la URL del repositorio (e.g. https://github.com/user/repo.git)",
persistent=True,
)
@@ -93,10 +95,10 @@ def _setup_flow_remote():
elif len(remotes) == 1:
remote = remotes[0]
else:
info("Tiene más de un remoto, seleccione el que va a utilizar.")
remote = choice("Remoto", remotes)
base.io_info("Tiene más de un remoto, seleccione el que va a utilizar.")
remote = base.io_choice("Remoto", remotes)
remote_type = choice("Tipo de remoto:", ["bitbucket", "github", "gitea"])
remote_type = base.io_choice("Tipo de remoto:", ["bitbucket", "github", "gitea"])
return (remote, remote_type)
@@ -105,10 +107,10 @@ def _ensure_all_flow_branches_exist(branches: list[str], remote: str | None):
existing_branches = Git.get_branches()
if not all(map(lambda b: b in existing_branches, branches)):
warning("Algunas de las ramas de entornos expecificadas no existen.")
info("Debe indicar sobre que rama se crearán las ramas de entorno.")
base.io_warning("Algunas de las ramas de entornos expecificadas no existen.")
base.io_info("Debe indicar sobre que rama se crearán las ramas de entorno.")
target_branch = choice("Rama", existing_branches)
target_branch = base.io_choice("Rama", existing_branches)
for branch in branches:
if branch not in existing_branches: