diff --git a/TASKS.org b/TASKS.org index bf9ab66..ee3c26f 100644 --- a/TASKS.org +++ b/TASKS.org @@ -1,45 +1,21 @@ -#+title: TASKS — napi -#+date: [2026-02-25] +* CLona no el contenido en sí sino tan sólo la esructura de ~/napi-data/ a ~/napi-data2/ , teniendo en cuenta que : +** en dicha carpeta se alojaran los datos de otro grupo de estudiantes : el de el módulo Programación. Es decir el grupo ASIR1. +** los cambios introducidos en el servidor Web deben ser compatibles con las aplicaciones existentes +** tendrán acceso a sus notas via notas.qu3v3d0.tech tras introducir, por obra del hack 'regexp-based-nginx-after-catch-all-content-redirect' ya desplegado en 'zzz', su usuario y contraseña +** TODO generar lista de alumnos - AKAs en el mismo fichero ~/napi-data2/programacion-seguimiento-de-practicas.md +* TODO , corregir/depurar mensaje : Claude, fíjate en @Screenshots/*.png s decir, que el chatbot no liste nada de "__pycache__/" -* DONE Clonar estructura ~/napi-data/ a ~/napi-data2/ para ASIR1 -CLOSED: [2026-02-25] -** DONE Crear ~/napi-data2/ con 21 carpetas (apellido) + _plantilla/notas.md adaptada a Programación -** DONE Decisión arquitectónica: subdominio separado (asir1.qu3v3d0.tech) en vez de regex hack -- Más KISS: cada server block es independiente, sin lógica condicional -- SSL wildcard *.qu3v3d0.tech ya cubre todos los subdominios -** DONE Crear /var/www/napi2/ en zzz con viewer.html + marked.min.js + twemoji.min.js -** DONE Server block Nginx para asir1.qu3v3d0.tech (auth_pam → /var/www/napi2/data/$remote_user/) -** DONE Crear 21 usuarios SFTP en zzz (apellido, leet-speak passwords, chroot /home/USER/python/) -** DONE Unit systemd sshfs: ~/napi-data2/ ↔ zzz:/var/www/napi2/data/ -** DONE Generar lista alumnos-AKAs en ~/napi-data2/programacion-seguimiento-de-las-practicas.md -* DONE Watcher XMPP para entregas ASIR1 — python-upload-watcher.sh -CLOSED: [2026-02-25] -** DONE v1: notificación básica por fichero (inotifywait + xmpp-notify.py) -** DONE v1.1: detectar creación de carpetas (CREATE,ISDIR) -** DONE v2: batching por carpeta — UN mensaje XMPP con listado completo (10s de silencio) -** DONE v3: detectar re-entregas (delete+recreate <120s) -** DONE v4: fix — estado en disco en vez de variables bash (subshell pipeline) -** DONE v5: fix — eliminar 'local' fuera de funciones (syntax error en subshell) -** DONE v6: filtrar __pycache__/, *.pyc, .git/, .venv/, node_modules/, .idea/, .vscode/ -** DONE v7: nombre completo en notificaciones ([María Jara] en vez de [jara]) +* TODO que el chatbot, en vez de : -* DONE Corregir notificaciones: no listar __pycache__/ -CLOSED: [2026-02-25] -- Resuelto en watcher v6: is_junk() + is_junk_path() filtran directorios y ficheros basura -- Filtros: __pycache__, *.pyc, *.pyo, .git, .venv, node_modules, .idea, .vscode -- También filtra basura Windows/macOS: Thumbs.db, desktop.ini, .DS_Store, *.tmp +** zzz@librebits.info 17:04 +🐍 [jara] Entrega ASIR1: Practicas/adivina-el-numero.py (1812 bytes) -* DONE Nombre completo en notificaciones XMPP (nombre + apellido) -CLOSED: [2026-02-25] -- Resuelto en watcher v7: función fullname() mapea username → nombre completo -- Ejemplo: [jara] → [María Jara], [barrios] → [Andrés Barrios] -- El log sigue usando username (para correlacionar con el sistema) -* DONE Documentación actualizada -CLOSED: [2026-02-25] -- README.md: reescrito para cubrir ambos grupos (DDAW2 + ASIR1) -- CLAUDE.md: actualizado con arquitectura multi-grupo -- scripts/README.md: watcher v7, ejemplos con nombres completos -- nginx/README.md: ambos server blocks documentados -- Commits: aa3126c + 42c1a7d → pushed to origin/main +** diga : zzz@librebits.info 17:04 +🐍 [maría jara] Entrega ASIR1: Practicas/adivina-el-numero.py (1812 bytes) +es decir, mencionar el/la autor/a de la entrega por ambos, nombre y apellido + + + +* esto