Mejorado de la descripcion larga de los scripts
This commit is contained in:
parent
a246c0265c
commit
89fc7f106b
1
app.py
1
app.py
|
@ -237,7 +237,6 @@ def handle_script_details(group, script_filename):
|
||||||
else: # POST
|
else: # POST
|
||||||
try:
|
try:
|
||||||
data = request.json
|
data = request.json
|
||||||
print(f"DEBUG: Received data for update_script_details ({group}/{script_filename}): {data}") # <-- Añade esta línea
|
|
||||||
result = config_manager.update_script_details(group, script_filename, data)
|
result = config_manager.update_script_details(group, script_filename, data)
|
||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"x1.py": {
|
||||||
|
"display_name": "Procesador de Emails a Cronología",
|
||||||
|
"short_description": "Script para desensamblar los emails y generar un archivo md con la cronología de los mensajes.",
|
||||||
|
"long_description": "## Descripción de funcionamiento:\n***\nEste script procesa archivos de correo electrónico (`.eml`) para extraer su contenido, gestionar adjuntos y generar un archivo Markdown que presenta los mensajes en orden cronológico inverso.\n***\n**Lógica Principal:**\n\n1. **Configuración:** Carga parámetros desde `ParamManagerScripts` (directorio de trabajo, nombre del archivo de salida Markdown, nombre del directorio de adjuntos).\n2. **Beautify:** Carga reglas de embellecimiento de texto desde `config/beautify_rules.json` para limpiar el contenido de los correos.\n3. **Descubrimiento:** Busca todos los archivos `.eml` en el directorio de trabajo configurado.\n4. **Procesamiento Individual:**\n * Itera sobre cada archivo `.eml` encontrado.\n * Utiliza `utils.email_parser.procesar_eml` para extraer metadatos (fecha, asunto, remitente, destinatarios), contenido del cuerpo y guardar los archivos adjuntos en la carpeta especificada.\n * Calcula un hash para cada mensaje para detectar duplicados.\n * Si un mensaje es nuevo (no duplicado):\n * Aplica las reglas de `BeautifyProcessor` al contenido del cuerpo.\n * Añade el mensaje procesado a una lista.\n5. **Ordenación:** Ordena la lista de mensajes únicos por fecha, del más reciente al más antiguo.\n6. **Generación de Índice:** Crea una sección de índice en formato Markdown con enlaces internos a cada mensaje.\n7. **Salida Markdown:** Escribe el índice seguido del contenido formateado en Markdown de cada mensaje en el archivo de salida configurado (ej. `cronologia.md`).\n",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,9 @@
|
||||||
--- Log de Ejecución: x0_main.py ---
|
--- Log de Ejecución: x0_main.py ---
|
||||||
Grupo: XML Parser to SCL
|
Grupo: XML Parser to SCL
|
||||||
Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport
|
Directorio de Trabajo: C:\Trabajo\SIDEL\06 - E5.007363 - Modifica O&U - SAE196 (cip integrato)\Reporte\IOExport
|
||||||
Inicio: 2025-05-03 17:05:03
|
Inicio: 2025-05-03 23:21:54
|
||||||
Fin: 2025-05-03 17:05:08
|
Fin: 2025-05-03 23:21:59
|
||||||
Duración: 0:00:04.868601
|
Duración: 0:00:05.324381
|
||||||
Estado: ERROR (Código de Salida: 1)
|
Estado: ERROR (Código de Salida: 1)
|
||||||
|
|
||||||
--- SALIDA ESTÁNDAR (STDOUT) ---
|
--- SALIDA ESTÁNDAR (STDOUT) ---
|
||||||
|
@ -2686,7 +2686,7 @@ Error: Tipo de bloque desconocido 'UnknownBlockType'. No se generará archivo.
|
||||||
Error: Tipo de bloque desconocido 'UnknownBlockType'. No se generará archivo.
|
Error: Tipo de bloque desconocido 'UnknownBlockType'. No se generará archivo.
|
||||||
Error al generar/escribir el ÁRBOL XRef de llamadas: generate_call_tree_output() missing 2 required positional arguments: 'max_call_depth' and 'xref_source_subdir'
|
Error al generar/escribir el ÁRBOL XRef de llamadas: generate_call_tree_output() missing 2 required positional arguments: 'max_call_depth' and 'xref_source_subdir'
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
File "D:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\x4_cross_reference.py", line 618, in generate_cross_references
|
File "d:\Proyectos\Scripts\ParamManagerScripts\backend\script_groups\XML Parser to SCL\x4_cross_reference.py", line 618, in generate_cross_references
|
||||||
call_tree_lines = generate_call_tree_output( # Pasar parámetros
|
call_tree_lines = generate_call_tree_output( # Pasar parámetros
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
TypeError: generate_call_tree_output() missing 2 required positional arguments: 'max_call_depth' and 'xref_source_subdir'
|
TypeError: generate_call_tree_output() missing 2 required positional arguments: 'max_call_depth' and 'xref_source_subdir'
|
||||||
|
|
2272
data/log.txt
2272
data/log.txt
File diff suppressed because it is too large
Load Diff
|
@ -102,3 +102,63 @@
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
border-top: 1px solid #e5e7eb;
|
border-top: 1px solid #e5e7eb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Estilos para encabezados dentro de la descripción larga del script */
|
||||||
|
.long-description-content h1 {
|
||||||
|
font-size: 1.875rem; /* Equivalente a text-3xl de Tailwind */
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
.long-description-content h2 {
|
||||||
|
font-size: 1.5rem; /* Equivalente a text-2xl */
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0.875rem;
|
||||||
|
margin-bottom: 0.4rem;
|
||||||
|
}
|
||||||
|
.long-description-content h3 {
|
||||||
|
font-size: 1.25rem; /* Equivalente a text-xl */
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
margin-bottom: 0.3rem;
|
||||||
|
}
|
||||||
|
/* Puedes añadir estilos para h4, h5, h6 si los necesitas */
|
||||||
|
|
||||||
|
.long-description-content hr {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
border-top-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ajustes opcionales para listas y código si no usas 'prose' */
|
||||||
|
.long-description-content ul,
|
||||||
|
.long-description-content ol {
|
||||||
|
list-style-position: inside;
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
.long-description-content ul {
|
||||||
|
list-style-type: disc;
|
||||||
|
}
|
||||||
|
.long-description-content ol {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
.long-description-content pre {
|
||||||
|
background-color: #f3f4f6; /* bg-gray-100 */
|
||||||
|
padding: 0.75rem;
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
overflow-x: auto;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
.long-description-content code {
|
||||||
|
font-family: monospace;
|
||||||
|
/* Estilo para código en línea si es necesario */
|
||||||
|
}
|
||||||
|
/* Estilo específico para bloques de código dentro de <pre> */
|
||||||
|
.long-description-content pre code {
|
||||||
|
background-color: transparent;
|
||||||
|
padding: 0;
|
||||||
|
}
|
|
@ -191,8 +191,17 @@ async function loadScripts(group) {
|
||||||
</button>
|
</button>
|
||||||
` : ''}
|
` : ''}
|
||||||
</div>
|
</div>
|
||||||
<div id="long-desc-${script.filename}" class="long-description-content prose prose-sm max-w-none mt-2 border-t pt-2 hidden">
|
<div id="long-desc-${script.filename}" class="long-description-content mt-2 border-t pt-2 hidden">
|
||||||
${script.long_description ? marked.parse(script.long_description) : ''}
|
${script.long_description ? (() => { // Self-invoking function to handle markdown rendering
|
||||||
|
if (typeof window.markdownit === 'undefined') { // Check if markdownit is loaded
|
||||||
|
console.error("markdown-it library not loaded!");
|
||||||
|
return `<p class="text-red-500">Error: Librería Markdown no cargada.</p><pre>${script.long_description}</pre>`; // Fallback: show raw text
|
||||||
|
}
|
||||||
|
// Create instance and render
|
||||||
|
const md = window.markdownit();
|
||||||
|
const renderedHtml = md.render(script.long_description); // Renderizar
|
||||||
|
return renderedHtml;
|
||||||
|
})() : ''}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2 flex-shrink-0">
|
<div class="flex items-center gap-2 flex-shrink-0">
|
||||||
|
@ -400,11 +409,9 @@ function generateInputField(def, key, value, level) {
|
||||||
class="${baseClasses}" data-key="${key}">`;
|
class="${baseClasses}" data-key="${key}">`;
|
||||||
|
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
return `<div class="flex items-center">
|
return `<input type="checkbox" ${value ? 'checked' : ''}
|
||||||
<input type="checkbox" ${value ? 'checked' : ''}
|
|
||||||
class="form-checkbox h-5 w-5 bg-green-50" data-key="${key}">
|
class="form-checkbox h-5 w-5 bg-green-50" data-key="${key}">
|
||||||
</div>`;
|
`; // <-- Añadir esta comilla invertida
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return `<input type="text" value="${value || ''}"
|
return `<input type="text" value="${value || ''}"
|
||||||
class="${baseClasses}" data-key="${key}">`;
|
class="${baseClasses}" data-key="${key}">`;
|
||||||
|
|
|
@ -237,6 +237,7 @@
|
||||||
<div>
|
<div>
|
||||||
<label for="edit-script-long-description" class="block text-sm font-bold mb-2">Descripción Larga / Ayuda</label>
|
<label for="edit-script-long-description" class="block text-sm font-bold mb-2">Descripción Larga / Ayuda</label>
|
||||||
<textarea id="edit-script-long-description" class="w-full p-2 border rounded" rows="5"></textarea>
|
<textarea id="edit-script-long-description" class="w-full p-2 border rounded" rows="5"></textarea>
|
||||||
|
<p class="text-xs text-gray-500 mt-1">Usa Markdown. Doble Enter para párrafo nuevo, dos espacios + Enter para salto de línea simple.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<input type="checkbox" id="edit-script-hidden" class="form-checkbox h-5 w-5 mr-2">
|
<input type="checkbox" id="edit-script-hidden" class="form-checkbox h-5 w-5 mr-2">
|
||||||
|
@ -251,7 +252,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Corregir la ruta del script -->
|
<!-- Corregir la ruta del script -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> <!-- Librería Markdown -->
|
<script src="https://unpkg.com/markdown-it@14.1.0/dist/markdown-it.min.js"></script> <!-- Librería Markdown-it (unpkg) -->
|
||||||
<script src="{{ url_for('static', filename='js/scripts.js') }}" defer></script>
|
<script src="{{ url_for('static', filename='js/scripts.js') }}" defer></script>
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener('load', () => {
|
window.addEventListener('load', () => {
|
||||||
|
|
Loading…
Reference in New Issue