[pyar] Duda sobre implementación de BaseHTTPRequestHandler

Eliseo Ocampos roskoff en gmail.com
Mar Mayo 28 09:45:43 ART 2013


Hola Alejandro,

2013/5/28 Alejandro M. Bernardis <alejandro.bernardis en gmail.com>

> Hola,
> Respecto a la configuración, podrías crear un `settings.py` e importarlo.
>
> ~
> ## main.py
>
> import settings
>
> mi_variable = settings.VARIABLE
>
>
> ~
> ## settings.py
>
> VARIABLE = "xxx"
> VARIABLE = 123
> VARIABLE = True
> VARIABLE = [1, 2, 3]
> VARIABLE = {'a':1, 'b':2, 'c':3}
>
>
Genial, pero cómo haría para "servir" el contenido de settings.py en forma
cifrada desde el do_GET? Esa es la duda que me quedó.


>
> También podrías utilizar Tornado Web Server (async) u otro que se le
> parezca.
>
> http://www.tornadoweb.org/en/stable/
>
>
Esta opción no la consideré, pero podría probarla eventualmente. La idea es
tener el script (en lo posible) con los módulos básicos que provee Python
(por eso usé BaseHTTPRequestHandler). De igual manera gracias por la
sugerencia!


> Slds-
> A!~
>
>
>   --
> --
> *Alejandro M. Bernardis.*
> *Sr. **Digital **Consultant / Developer.*
>
> m. 55 61 14 62 67 (principal)
> m. 55 34 34 14 28
> e.  alejandro.bernardis en gmail.com
> s.  alejandro.bernardis
> t.  @alejandromb
>
> --
> El contenido de este mensaje es confidencial. Si usted ha recibido
> este mensaje por error, le pedimos que no lo reenvíe y lo borre
> inmediatamente.
>
> The contents of this message are confidential. If message has been
> received in error, please do not forward and destroy immediately.
>
> On May 28, 2013, at 12:04 AM, Eliseo Ocampos <roskoff en gmail.com> wrote:
>
> Buenas noches gente,
>
>    Estuve trabajando con un script que debe simular a cierto servidor web,
> básicamente tiene que recibir una petición (cualquiera) y retornar un
> archivo cifrado. Intenté hacerlo así y funciona:
>
> class HttpHandler(BaseHTTPRequestHandler):
>     def do_GET(self):
>         self.send_response(200)
>         self.send_header('Access-Control-Allow-Origin', '*')
>         self.send_header('Access-Control-Allow-Headers', 'X-Request,
> X-Requested-With')
>         self.send_header('Content-type', 'application/octet-stream')
>         self.end_headers()
>         encrypted_config = self.cifrar_configuracion()
>         self.wfile.write(encrypted_config)
>
>     def cifrar_configuracion(self):
>         # String de configuracion que se cifra y se retorna
>
> def main():
>     try:
>         server = HTTPServer(('127.0.0.1', 8000), HttpHandler)
>         print("Servidor corriendo en: 127.0.0.1:8000")
>         server.serve_forever()
>     except KeyboardInterrupt:
>         server.socket.close()
>
> if __name__ == '__main__':
>     main()
>
> Mis problemas surgieron cuando quise hacer esto "parametrizable": pasar un
> argumento posicional al script (nombre del archivo que contiene el texto de
> configuración), para lo cual intenté definir __init__(self, filename)
> dentro de la clase HttpHandler, de manera a instanciar el servidor así:
> server = HTTPServer(('127.0.0.1', 8000), HttpHandler("config.txt")
>
> Este fue mi razonamiento obvio, pero luego me surgió el siguiente error:
> TypeError: 'HttpHandler' object is not callable
>
> Por qué no puedo usar __init__ para inicializar la clase con un parámetro
> que necesito? También intenté llamar a super() pero dice que requiere las
> variables request, client_address y server.
>
> Como no di con una solución resolví parsear el path del handler buscando
> el nombre del archivo específico, sin embargo, me quedé con la duda de este
> detalle de implementación.
>
> Saludos!
> Eliseo.
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130528/59195d5d/attachment.html>


More information about the pyar mailing list