Se invirtieron los directorios de entrada y salida en la configuración del script de cronología. Se renombró `output_directory` a `input_directory` en `esquema_work.json` y se actualizaron las descripciones correspondientes. En `script_config.json` y `work_dir.json`, se ajustaron las rutas para reflejar los nuevos directorios. Además, se mejoró la documentación y se corrigieron lints en `x1.py` sin alterar la lógica del script.
This commit is contained in:
parent
1fda6e656d
commit
59cb4f4063
|
@ -23,3 +23,19 @@ Ordenación: Ordena la lista de mensajes únicos por fecha, del más reciente al
|
||||||
Generación de Índice: Crea una sección de índice en formato Markdown con enlaces internos a cada mensaje.
|
Generación de Índice: Crea una sección de índice en formato Markdown con enlaces internos a cada mensaje.
|
||||||
Salida Markdown: Escribe el índice seguido del contenido formateado en Markdown de cada mensaje en el archivo de salida configurado (ej. cronologia.md).
|
Salida Markdown: Escribe el índice seguido del contenido formateado en Markdown de cada mensaje en el archivo de salida configurado (ej. cronologia.md).
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-08-08 — Inversión de directorios (entrada/salida)
|
||||||
|
|
||||||
|
- Decisión: Alinear con la guía `backend_setup.md` para que:
|
||||||
|
- `working_directory` sea el directorio de salida (resultado), donde se escribe `cronologia.md` y se guardan los adjuntos.
|
||||||
|
- `level3.input_directory` sea el directorio de entrada donde se leen los `.eml`.
|
||||||
|
- Cambios:
|
||||||
|
- `esquema_work.json`: se renombra `output_directory` → `input_directory` y se actualizan `title`/`description`.
|
||||||
|
- `x1.py`:
|
||||||
|
- Lee `level3.input_directory` como entrada.
|
||||||
|
- Escribe `cronologia_file` y `attachments_dir` dentro de `working_directory`.
|
||||||
|
- Crea directorios de salida si no existen.
|
||||||
|
- Se corrigen lints (E402 y líneas largas) sin alterar lógica.
|
||||||
|
- Impacto:
|
||||||
|
- Los `work_dir.json` existentes deben actualizar la clave a `input_directory`.
|
||||||
|
- No hay cambios en claves de `level2` (`cronologia_file`, `attachments_dir`).
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"output_directory": {
|
"input_directory": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "directory",
|
"title": "Directorio donde leer los emails (.eml)",
|
||||||
"title": "Directorio donde escribir el archivo de cronologia",
|
"description": "Carpeta de entrada con los archivos .eml a procesar",
|
||||||
"description": "Lugar para el archivo cronologia.md"
|
"format": "directory"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@
|
||||||
"cronologia_file": "cronologia.md"
|
"cronologia_file": "cronologia.md"
|
||||||
},
|
},
|
||||||
"level3": {
|
"level3": {
|
||||||
"output_directory": "C:\\Users\\migue\\OneDrive\\Miguel\\Obsidean\\Trabajo\\VM\\03-VM\\45 - HENKEL - VM Auto Changeover"
|
"input_directory": "C:\\Trabajo\\SIDEL\\17 - E5.006880 - Modifica O&U - RSC098\\Reporte\\Emails"
|
||||||
},
|
},
|
||||||
"working_directory": "D:\\Trabajo\\VM\\45 - HENKEL - VM Auto Changeover\\Entregado por VM\\01 - 26-07-2025 Max - Emails"
|
"working_directory": "C:\\Users\\migue\\OneDrive\\Miguel\\Obsidean\\Trabajo\\VM\\04-SIDEL\\17 - E5.006880 - Modifica O&U - RSC098"
|
||||||
}
|
}
|
|
@ -1,6 +1,9 @@
|
||||||
{
|
{
|
||||||
"path": "D:\\Trabajo\\VM\\45 - HENKEL - VM Auto Changeover\\Entregado por VM\\01 - 26-07-2025 Max - Emails",
|
"path": "C:\\Users\\migue\\OneDrive\\Miguel\\Obsidean\\Trabajo\\VM\\04-SIDEL\\17 - E5.006880 - Modifica O&U - RSC098",
|
||||||
"history": [
|
"history": [
|
||||||
|
"C:\\Users\\migue\\OneDrive\\Miguel\\Obsidean\\Trabajo\\VM\\04-SIDEL\\17 - E5.006880 - Modifica O&U - RSC098",
|
||||||
|
"C:\\Trabajo\\SIDEL\\17 - E5.006880 - Modifica O&U - RSC098\\Reporte\\Emails",
|
||||||
|
"C:\\Trabajo\\SIDEL\\17 - E5.006880 - Modifica O&U - RSC098",
|
||||||
"D:\\Trabajo\\VM\\45 - HENKEL - VM Auto Changeover\\Entregado por VM\\01 - 26-07-2025 Max - Emails"
|
"D:\\Trabajo\\VM\\45 - HENKEL - VM Auto Changeover\\Entregado por VM\\01 - 26-07-2025 Max - Emails"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
"""
|
"""
|
||||||
Script para desensamblar los emails y generar un archivo de texto con la cronología de los mensajes.
|
Script para desensamblar emails y generar un archivo Markdown con la
|
||||||
|
cronología de los mensajes.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
@ -12,7 +13,7 @@ script_root = os.path.dirname(
|
||||||
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
||||||
)
|
)
|
||||||
sys.path.append(script_root)
|
sys.path.append(script_root)
|
||||||
from backend.script_utils import load_configuration
|
from backend.script_utils import load_configuration # noqa: E402
|
||||||
|
|
||||||
# Forzar UTF-8 en la salida estándar
|
# Forzar UTF-8 en la salida estándar
|
||||||
sys.stdout.reconfigure(encoding="utf-8")
|
sys.stdout.reconfigure(encoding="utf-8")
|
||||||
|
@ -37,14 +38,16 @@ def main():
|
||||||
|
|
||||||
# Verificar si la configuración se cargó según backend_setup.md
|
# Verificar si la configuración se cargó según backend_setup.md
|
||||||
if not configs:
|
if not configs:
|
||||||
print("Error: No se pudo cargar la configuración. Verificar script_config.json")
|
print(
|
||||||
|
"Error: No se pudo cargar la configuración. " "Verificar script_config.json"
|
||||||
|
)
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
return
|
return
|
||||||
|
|
||||||
print("✅ Configuración cargada exitosamente")
|
print("✅ Configuración cargada exitosamente")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
# Obtener working directory
|
# Obtener directorio de resultados/salida (working_directory)
|
||||||
working_directory = configs.get("working_directory", ".")
|
working_directory = configs.get("working_directory", ".")
|
||||||
|
|
||||||
# Obtener configuraciones de nivel 2 (grupo)
|
# Obtener configuraciones de nivel 2 (grupo)
|
||||||
|
@ -53,20 +56,17 @@ def main():
|
||||||
attachments_dir = group_config.get("attachments_dir", "adjuntos")
|
attachments_dir = group_config.get("attachments_dir", "adjuntos")
|
||||||
|
|
||||||
work_config = configs.get("level3", {})
|
work_config = configs.get("level3", {})
|
||||||
output_directory = work_config.get("output_directory", ".")
|
# Directorio de ENTRADA (emails .eml) provisto por level3
|
||||||
|
input_dir = work_config.get("input_directory", ".")
|
||||||
|
|
||||||
# Construir rutas absolutas
|
# Construir rutas de salida en working_directory
|
||||||
input_dir = (
|
output_file = os.path.join(working_directory, cronologia_file)
|
||||||
working_directory # El directorio de trabajo es el directorio de entrada
|
|
||||||
)
|
|
||||||
output_file = os.path.join(output_directory, cronologia_file)
|
|
||||||
attachments_path = os.path.join(working_directory, attachments_dir)
|
attachments_path = os.path.join(working_directory, attachments_dir)
|
||||||
|
|
||||||
# Debug prints
|
# Debug prints
|
||||||
print(f"Working directory: {working_directory}")
|
print(f"Working/Output directory: {working_directory}")
|
||||||
print(f"Input directory: {input_dir}")
|
print(f"Input directory: {input_dir}")
|
||||||
print(f"Output directory: {output_directory}")
|
print(f"Output file: {output_file}")
|
||||||
print(f"Cronologia file: {output_file}")
|
|
||||||
print(f"Attachments directory: {attachments_path}")
|
print(f"Attachments directory: {attachments_path}")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
@ -77,7 +77,8 @@ def main():
|
||||||
print(f"Beautify rules file: {beautify_rules}")
|
print(f"Beautify rules file: {beautify_rules}")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
# Ensure directories exist
|
# Asegurar directorios de salida
|
||||||
|
os.makedirs(working_directory, exist_ok=True)
|
||||||
os.makedirs(attachments_path, exist_ok=True)
|
os.makedirs(attachments_path, exist_ok=True)
|
||||||
|
|
||||||
# Check if input directory exists and has files
|
# Check if input directory exists and has files
|
||||||
|
@ -116,7 +117,8 @@ def main():
|
||||||
|
|
||||||
# Verificar duplicados y aplicar beautify solo a los mensajes nuevos
|
# Verificar duplicados y aplicar beautify solo a los mensajes nuevos
|
||||||
for i, msg in enumerate(nuevos_mensajes):
|
for i, msg in enumerate(nuevos_mensajes):
|
||||||
print(f"\n--- Message {i+1}/{len(nuevos_mensajes)} from {archivo.name} ---")
|
print("")
|
||||||
|
print(f"--- Msg {i+1}/{len(nuevos_mensajes)} from " f"{archivo.name} ---")
|
||||||
print(f"Remitente: {msg.remitente}")
|
print(f"Remitente: {msg.remitente}")
|
||||||
print(f"Fecha: {msg.fecha}")
|
print(f"Fecha: {msg.fecha}")
|
||||||
print(f"Subject: {msg.subject}")
|
print(f"Subject: {msg.subject}")
|
||||||
|
@ -135,7 +137,8 @@ def main():
|
||||||
else:
|
else:
|
||||||
print("⚠ DUPLICADO - Ya existe un mensaje con este hash")
|
print("⚠ DUPLICADO - Ya existe un mensaje con este hash")
|
||||||
mensajes_duplicados += 1
|
mensajes_duplicados += 1
|
||||||
# Buscar el mensaje duplicado para mostrar información detallada
|
# Buscar el mensaje duplicado para mostrar
|
||||||
|
# información detallada
|
||||||
for existing_msg in mensajes:
|
for existing_msg in mensajes:
|
||||||
if existing_msg.hash == msg.hash:
|
if existing_msg.hash == msg.hash:
|
||||||
print(" 📋 Comparación de mensajes duplicados:")
|
print(" 📋 Comparación de mensajes duplicados:")
|
||||||
|
|
108
data/log.txt
108
data/log.txt
|
@ -1 +1,107 @@
|
||||||
[11:24:53] 🔄 Actualizados 3 de 4 archivos backend_setup.md
|
[11:43:49] Iniciando ejecución de x1.py en C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098...
|
||||||
|
[11:43:49] ✅ Configuración cargada exitosamente
|
||||||
|
[11:43:49] Working/Output directory: C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098
|
||||||
|
[11:43:49] Input directory: C:\Trabajo\SIDEL\17 - E5.006880 - Modifica O&U - RSC098\Reporte\Emails
|
||||||
|
[11:43:49] Output file: C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098\cronologia.md
|
||||||
|
[11:43:49] Attachments directory: C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098\adjuntos
|
||||||
|
[11:43:49] Beautify rules file: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\EmailCrono\config\beautify_rules.json
|
||||||
|
[11:43:49] Found 1 .eml files
|
||||||
|
[11:43:49] Creando cronología nueva (archivo se sobrescribirá)
|
||||||
|
[11:43:49] ============================================================
|
||||||
|
[11:43:49] Processing file: C:\Trabajo\SIDEL\17 - E5.006880 - Modifica O&U - RSC098\Reporte\Emails\R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml
|
||||||
|
[11:43:49] 📧 Abriendo archivo: C:\Trabajo\SIDEL\17 - E5.006880 - Modifica O&U - RSC098\Reporte\Emails\R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: R: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: "Passera, Alessandro" <Alessandro.Passera@sidel.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-08 07:49:28
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 4735 caracteres
|
||||||
|
[11:43:49] - Hash generado: 48f94bf24945f73bc08c1c0cf8c1e8bb
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: RE: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: "Bii, Vickodyne" <vickodyne.bii@sidel.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-08 05:46:30
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 4259 caracteres
|
||||||
|
[11:43:49] - Hash generado: 82709d4677b90d79bb02e13cfe86924e
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: "walter.orsi@teknors.com" <walter.orsi@teknors.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-07 15:55:58
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 3235 caracteres
|
||||||
|
[11:43:49] - Hash generado: cceec9818de1a4491214af4b6d96e143
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: "Passera, Alessandro" <Alessandro.Passera@sidel.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-07 13:07:11
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 2398 caracteres
|
||||||
|
[11:43:49] - Hash generado: dc05b2959920f679cd60e8a29685badc
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: "Passera, Alessandro" <Alessandro.Passera@sidel.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-07 12:59:15
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 1613 caracteres
|
||||||
|
[11:43:49] - Hash generado: a848be3351ae2cc44bafb0f322a78690
|
||||||
|
[11:43:49] ✉️ Mensaje extraído:
|
||||||
|
[11:43:49] - Subject: RE: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] - Remitente: Miguel Angel Vera <miguelverateknors@gmail.com>
|
||||||
|
[11:43:49] - Fecha: 2025-08-08 09:41:58
|
||||||
|
[11:43:49] - Adjuntos: 0 archivos
|
||||||
|
[11:43:49] - Contenido: 4735 caracteres
|
||||||
|
[11:43:49] - Hash generado: 430cc918020c3c8db795995baa26cb78
|
||||||
|
[11:43:49] 📧 Procesamiento completado: 6 mensajes extraídos
|
||||||
|
[11:43:49] Extracted 6 messages from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml
|
||||||
|
[11:43:49] --- Msg 1/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: Passera, Alessandro
|
||||||
|
[11:43:49] Fecha: 2025-08-08 07:49:28
|
||||||
|
[11:43:49] Subject: R: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: 48f94bf24945f73bc08c1c0cf8c1e8bb
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] --- Msg 2/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: Bii, Vickodyne
|
||||||
|
[11:43:49] Fecha: 2025-08-08 05:46:30
|
||||||
|
[11:43:49] Subject: RE: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: 82709d4677b90d79bb02e13cfe86924e
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] --- Msg 3/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: walter.orsi@teknors.com
|
||||||
|
[11:43:49] Fecha: 2025-08-07 15:55:58
|
||||||
|
[11:43:49] Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: cceec9818de1a4491214af4b6d96e143
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] --- Msg 4/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: Passera, Alessandro
|
||||||
|
[11:43:49] Fecha: 2025-08-07 13:07:11
|
||||||
|
[11:43:49] Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: dc05b2959920f679cd60e8a29685badc
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] --- Msg 5/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: Passera, Alessandro
|
||||||
|
[11:43:49] Fecha: 2025-08-07 12:59:15
|
||||||
|
[11:43:49] Subject: R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: a848be3351ae2cc44bafb0f322a78690
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] --- Msg 6/6 from R_ E5.006880 - RSC098 - Nigerian Breweries_ URGENT.eml ---
|
||||||
|
[11:43:49] Remitente: Miguel Angel Vera
|
||||||
|
[11:43:49] Fecha: 2025-08-08 09:41:58
|
||||||
|
[11:43:49] Subject: RE: {EXT} R: E5.006880 - RSC098 - Nigerian Breweries: URGENT
|
||||||
|
[11:43:49] Hash: 430cc918020c3c8db795995baa26cb78
|
||||||
|
[11:43:49] Adjuntos: []
|
||||||
|
[11:43:49] ✓ NUEVO mensaje - Agregando a la cronología
|
||||||
|
[11:43:49] Estadísticas de procesamiento:
|
||||||
|
[11:43:49] - Total mensajes encontrados: 6
|
||||||
|
[11:43:49] - Mensajes únicos añadidos: 6
|
||||||
|
[11:43:49] - Mensajes duplicados ignorados: 0
|
||||||
|
[11:43:49] Writing 6 messages to C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098\cronologia.md
|
||||||
|
[11:43:49] ✅ Cronología guardada exitosamente en: C:\Users\migue\OneDrive\Miguel\Obsidean\Trabajo\VM\04-SIDEL\17 - E5.006880 - Modifica O&U - RSC098\cronologia.md
|
||||||
|
[11:43:49] 📊 Total de mensajes en la cronología: 6
|
||||||
|
[11:43:49] Ejecución de x1.py finalizada (success). Duración: 0:00:00.353973.
|
||||||
|
[11:43:49] Log completo guardado en: D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\EmailCrono\.log\log_x1.txt
|
||||||
|
|
Loading…
Reference in New Issue