Sync: guardar en el historial el trabajo de las ultimas semanas que solo vivia en el disco
Este repo local tenia origin apuntando al Gitea local (localhost:3000), que Rafa
declaro archivado el 2026-06-28 (commit 962f33a, desarrollo movido a
gitea.feadulta.com). Ese memo nunca llego a este checkout: main quedo congelado
y todo el trabajo real de las ultimas 3+ semanas se fue commiteando solo en la
rama fix/multiidioma-portada-132 (ya fusionada a main sin perdida, commit
2504666), mientras que ademas se acumulaban 78 cambios sin commitear en el
working tree que nunca llegaron a NINGUN historial de git.
Este commit consolida esos cambios sueltos: TTS multi-voz (tts_*.py), scripts
de traduccion (translate_haiku.py, pretranslate_en_haiku.py, sync_translations_to_prod.py),
mu-plugins nuevos desplegados a prod (fea-beta-feedback, fea-cloudflare-realip,
fea-legacy-redirect, fea-gsc-verification, fea-support-campaign, fea-ui, etc.),
scripts de mantenimiento de enlaces/cartas, capturas E2E (tools/e2e/shot_*.cjs)
y documentacion de sesiones recientes.
Excluido deliberadamente (no es codigo versionable): tts-voices/ (3.3GB de
muestras de audio para clonacion de voz, anadido a .gitignore), logs/ (logs de
ejecucion, anadido a .gitignore), y 2 ficheros vacios accidentales + 2 copias
duplicadas sueltas en la raiz que ya existen en su ubicacion correcta.
This commit is contained in:
@@ -25,7 +25,7 @@ from datetime import datetime
|
||||
|
||||
JOOMLA_SSH_HOST = "134.0.10.170"
|
||||
JOOMLA_SSH_USER = "feadulta"
|
||||
JOOMLA_SSH_PASS = "6Rm2qOF@eundwpda"
|
||||
JOOMLA_SSH_PASS = "C6c2A!mAl3Wj.BQF"
|
||||
JOOMLA_DB_HOST = "127.0.0.1"
|
||||
JOOMLA_DB_USER = "fejoomla3"
|
||||
JOOMLA_DB_PASS = "5FF-}5^[>7^pK4W9"
|
||||
@@ -37,7 +37,7 @@ WP_DB_PASS = "wordpress_pass"
|
||||
WP_DB_NAME = "wordpress_db"
|
||||
WP_DB_HOST = "wordpress-mysql" # dentro del container
|
||||
|
||||
LAST_K2_ID = 17873 # último ID importado en WP
|
||||
LAST_K2_ID = None # se calcula dinámicamente en main(): MAX(_fgj2wp_old_k2_id) en WP
|
||||
|
||||
# WP term_taxonomy_ids (obtenidos con SELECT tt.term_taxonomy_id FROM wp_term_taxonomy tt WHERE tt.term_id=N)
|
||||
# Precalculados:
|
||||
@@ -58,7 +58,7 @@ def ssh_mysql(query: str) -> list[dict]:
|
||||
cmd = [
|
||||
'sshpass', '-p', JOOMLA_SSH_PASS,
|
||||
'ssh', f'{JOOMLA_SSH_USER}@{JOOMLA_SSH_HOST}',
|
||||
f'mysql -h {JOOMLA_DB_HOST} -u {JOOMLA_DB_USER} '
|
||||
f'mysql --skip-ssl -h {JOOMLA_DB_HOST} -u {JOOMLA_DB_USER} '
|
||||
f'-p{repr(JOOMLA_DB_PASS)} {JOOMLA_DB_NAME} '
|
||||
f'--default-character-set=utf8mb4 -B -e "{query}"'
|
||||
]
|
||||
@@ -207,6 +207,11 @@ def determine_categories(ef: dict, title: str) -> list[int]:
|
||||
# ── Import principal ───────────────────────────────────────────────────────────
|
||||
|
||||
def main():
|
||||
global LAST_K2_ID
|
||||
# Detección dinámica del último K2 importado (evita hardcodear y re-importar deltas previos)
|
||||
r = wp_mysql("SELECT MAX(CAST(meta_value AS UNSIGNED)) m FROM wp_postmeta "
|
||||
"WHERE meta_key='_fgj2wp_old_k2_id'")
|
||||
LAST_K2_ID = int(r[0]['m']) if r and r[0].get('m') and r[0]['m'] != 'NULL' else 17873
|
||||
print(f"=== Import K2 items > {LAST_K2_ID} → WP local {'[DRY RUN]' if DRY_RUN else '[LIVE]'} ===\n")
|
||||
|
||||
user_map = load_user_map()
|
||||
@@ -238,7 +243,7 @@ def main():
|
||||
f"WHERE published=1 AND id > {LAST_K2_ID} ORDER BY id;"
|
||||
)
|
||||
mysql_cmd = (
|
||||
f"mysql -h {JOOMLA_DB_HOST} -u {JOOMLA_DB_USER} "
|
||||
f"mysql --skip-ssl -h {JOOMLA_DB_HOST} -u {JOOMLA_DB_USER} "
|
||||
f"-p'{JOOMLA_DB_PASS}' {JOOMLA_DB_NAME} "
|
||||
f"--default-character-set=utf8mb4 -B"
|
||||
)
|
||||
@@ -340,10 +345,12 @@ def main():
|
||||
stats['ok'] += 1
|
||||
continue
|
||||
|
||||
# Obtener el ID del post recién insertado
|
||||
new_id_rows = wp_mysql("SELECT LAST_INSERT_ID() as new_id")
|
||||
# Obtener el ID del post recién insertado. NO usar LAST_INSERT_ID(): cada
|
||||
# docker exec abre una conexión nueva y devolvería 0. MAX(ID) es fiable
|
||||
# en uso secuencial (sin inserciones concurrentes).
|
||||
new_id_rows = wp_mysql("SELECT MAX(ID) as new_id FROM wp_posts")
|
||||
if not new_id_rows:
|
||||
print(f" [ERROR] No se pudo obtener LAST_INSERT_ID para k2_id={k2_id}")
|
||||
print(f" [ERROR] No se pudo obtener el ID del post para k2_id={k2_id}")
|
||||
stats['err'] += 1
|
||||
continue
|
||||
new_wp_id = int(new_id_rows[0]['new_id'])
|
||||
|
||||
Reference in New Issue
Block a user