[IMPROVED] Modificado ai_token.sh para usar la ruta de config/ai_tokens.path

- Añadida función get_tokens_path para leer la ruta personalizada
- Actualizado encrypt_token para usar la ruta configurada
- Modificado main para verificar archivos en la ubicación correcta
- Manejo de expansión de tilde (~) en rutas
- Actualizada fecha de modificación
This commit is contained in:
Mauro Rosero P. 2025-04-07 06:04:02 -05:00
parent 27566241a9
commit 387aa01122

View file

@ -5,7 +5,7 @@
#Author : Sora Rosero One <sora@rosero.one> #Author : Sora Rosero One <sora@rosero.one>
#Generated by : Claude Code (claude-3-7-sonnet-20250219) #Generated by : Claude Code (claude-3-7-sonnet-20250219)
#Created : 2025/03/21 16:06:20 #Created : 2025/03/21 16:06:20
#Modified : 2025/03/21 17:14:59 #Modified : 2025/04/07 07:45:22
#Version : 1.0.0 #Version : 1.0.0
#Use Notes : #Use Notes :
# Gestiona múltiples tokens de IA definidos en ai.tokens # Gestiona múltiples tokens de IA definidos en ai.tokens
@ -99,15 +99,42 @@ load_providers() {
done < <(grep -v "^#" "$config_file") done < <(grep -v "^#" "$config_file")
} }
# Función para leer la ruta personalizada para los tokens desde config
get_tokens_path() {
local config_file="$BIN_HOME/$BIN_BASE/$BIN_CFGS/ai_tokens.path"
local default_path="$BIN_HOME/$BIN_SOPS"
if [ -f "$config_file" ]; then
# Leer la ruta del archivo de configuración y expandir la tilde (~)
local path_from_config=$(cat "$config_file" | tr -d '\r\n')
path_from_config="${path_from_config/#\~/$HOME}"
# Verificar que la ruta exista o crearla
if [ ! -d "$path_from_config" ]; then
mkdir -p "$path_from_config" 2>/dev/null
# Si no se pudo crear, usar la ruta por defecto
if [ ! -d "$path_from_config" ]; then
echo "$default_path"
return
fi
fi
echo "$path_from_config"
else
echo "$default_path"
fi
}
# Función para encriptar token con SOPS # Función para encriptar token con SOPS
encrypt_token() { encrypt_token() {
local provider_code="$1" local provider_code="$1"
local token="$2" local token="$2"
local output_file="$BIN_HOME/$BIN_SOPS/${provider_code}.sops.yaml" local tokens_dir=$(get_tokens_path)
local output_file="${tokens_dir}/${provider_code}.sops.yaml"
local temp_file="/tmp/ai_token_$$" local temp_file="/tmp/ai_token_$$"
# Crear directorio si no existe # Crear directorio si no existe
mkdir -p "$BIN_HOME/$BIN_SOPS" mkdir -p "$tokens_dir"
# Codificar el token en base64 # Codificar el token en base64
local token_base64=$(echo -n "$token" | base64) local token_base64=$(echo -n "$token" | base64)
@ -218,8 +245,9 @@ main() {
provider_code="$selected_provider_code" provider_code="$selected_provider_code"
provider_desc="$selected_provider_desc" provider_desc="$selected_provider_desc"
# Verificar archivo de token si ya existe # Obtener la ruta de tokens y verificar si el archivo ya existe
sops_file="$BIN_HOME/$BIN_SOPS/${provider_code}.sops.yaml" tokens_dir=$(get_tokens_path)
sops_file="${tokens_dir}/${provider_code}.sops.yaml"
if [ -f "$sops_file" ]; then if [ -f "$sops_file" ]; then
# Preguntar con dialog_yesno de console.lib # Preguntar con dialog_yesno de console.lib
dialog_yesno "${aimsg_107}" dialog_yesno "${aimsg_107}"