X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/e3a8b7916e9d8506a53bbcf1039816a7caecd1ac..296d853cc95fd5bef262248cfe21b507abd26a4f:/TODO diff --git a/TODO b/TODO index 3147467..362b434 100644 --- a/TODO +++ b/TODO @@ -1,17 +1,35 @@ Ideas / TODO: -* Soportar comillas para argumentos con espacios y otros caracteres, onda: - 'misc set motd "Hola!\nEste es el servidor de garombia"' - -* Soportar keyword arguments, onda que: - 'dns set pepe=10.10.10.1 juan=10.10.10.2' - se mapee a algo como: dns.set(pepe='10.10.10.1', juan='10.10.10.2') - * Hacer el protocolo completamente introspectivo, de manera que el cliente pueda ser muy simple y genérico y en caso de agregar funcionalidad no sea necesario modificarlo. +* Evaluar hacer un RootHandler en vez de un diccionario con los handlers de la + raiz para simplificar la introspección y tener un help/commands global. + +* Evaluar que el dispatcher vea si se llama a un HandlerContainer y de ser así + que tire una ayuda en vez de un CommandNotFound (por ejemplo si se pone: + "dhcp" solo que tire una ayuda). Y si hay un subcomando no encontrado, que + tire un Command Not Found in handler (por ej "dhcp lala" -> Command "lala" not + found in "dhcp"). + +* Agregar logging. + +* Agregar validación con formencode. + +* Ver como manejar la información sobre si un servicio está andando o no. Si se + agrega una acción 'status' para ver el estado y si ese estado se saca de posta + de /proc o si es un estado interno y se asume que los servicios no se caen (no + creo que sea una buena idea esto último). Además habría que ver cuando arranca + el pymin, si se inician servicios automáticamente o no y si la info de qué + servicios iniciar o no es persistente y si puede configurarla el usuario. + +* No usar comandos con templates, porque después si no hay que ejecutarlos con + un shell (porque el template devuelve un string todo grande) y hay que andar + teniendo cuidado de escapar las cosas (y hay riesgos de seguridad de shell + injection). + Estas cosas quedan sujetas a necesitada y a definición del protocolo. Para mí lo ideal es que el protocolo de red sea igual que la consola del usuario, porque después de todo no va a ser más que eso, mandar comanditos.