X-Git-Url: https://git.llucax.com/software/pymin.git/blobdiff_plain/6f9f028c43f77c76a0ac6d4f4f7223e5c6e2ba64..4f264c497806764649df5bc5a61ffd525d998471:/TODO?ds=sidebyside diff --git a/TODO b/TODO index c87a786..fd3e0ce 100644 --- a/TODO +++ b/TODO @@ -1,34 +1,27 @@ Ideas / TODO: -* Soportar comillas para argumentos con espacios y otros caracteres, onda: - 'misc set motd "Hola!\nEste es el servidor de garombia"' +* Agregar soporte de opciones de línea de comando/archivo de conf para: + * Dry run. + * Seleccionar servicios a usar. + * Puerto/bind addr. + * Logging. + * Paths. -* 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"). +* SubHandlers: + * Agregar SetSubHandler? (para Proxy Hosts) * Agregar logging. -* Agregar validación. +* Agregar validación con formencode. -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. +* Hacer que el estado sobre si un servicio está andando o no sea más confiable + que un simple flag interno (en caso de ver que realmente esté corriendo, + probablemente sea una buena idea que haya un flag que indique si hay que + levantarlo en el inicio). -Por otro lado, el cliente de consola, por que no es el cliente web pero -accedido via ssh usando un navegador de texto como w3m??? +* 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).