<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hola,</div><div>La configuración es única, o bien por cada usuario tendrías una en particular?</div><div><br></div><div>Lo que te queda es pasar la ruta del archivo como variable en el request, o bien acceder al mismo dentro del método do_get().</div><div><br></div><div><br></div><div>Slds </div><div>A<br><br>Enviado desde mi iPhone</div><div><br>El 28/05/2013, a las 07:45, Eliseo Ocampos <<a href="mailto:roskoff@gmail.com">roskoff@gmail.com</a>> escribió:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hola Alejandro,<br><div class="gmail_extra"><br><div class="gmail_quote">2013/5/28 Alejandro M. Bernardis <span dir="ltr"><<a href="mailto:alejandro.bernardis@gmail.com" target="_blank">alejandro.bernardis@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">Hola,<div>Respecto a la configuración, podrías crear un `settings.py` e importarlo.</div>

<div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span style="font-family:Courier">~</span></div><div><span style="font-family:Courier">## main.py </span></div><div><span style="font-family:Courier"><br>

</span></div><div><span style="font-family:Courier">import settings</span></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span style="font-family:Courier">mi_variable = settings.VARIABLE</span></div>

<div><font face="Courier"><br></font></div><div><br></div><div><font face="Courier">~</font></div><div><font face="Courier">## settings.py</font></div><div><font face="Courier"><br></font></div><div><font face="Courier">VARIABLE = "xxx"</font></div>

<div><font face="Courier">VARIABLE = 123</font></div><div><font face="Courier">VARIABLE = True</font></div><div><font face="Courier">VARIABLE = [1, 2, 3]</font></div><div><font face="Courier">VARIABLE = {'a':1, 'b':2, 'c':3}</font></div>

<div><font face="Courier"><br></font></div></blockquote></div></blockquote><div><br></div><div style="">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ó.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">

<div><font face="Courier"></font></div></blockquote><div><br></div><div>También podrías utilizar Tornado Web Server (async) u otro que se le parezca.</div><div><br></div><div><a href="http://www.tornadoweb.org/en/stable/" target="_blank">http://www.tornadoweb.org/en/stable/</a></div>

<div><br></div></div></blockquote><div><br></div><div style="">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é <span style="font-family:arial,sans-serif;font-size:13px">BaseHTTPRequestHandler). De igual manera </span>gracias por la sugerencia!</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div></div>
<div>
Slds-</div><div>A!~</div><div><br></div><div><br><div>
<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">

<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">

<div style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-wrap:break-word;word-spacing:0px">

-- <br><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">--</span><div><div><span style="font-size:13px;border-collapse:collapse"><b style="font-family:arial,sans-serif"><span style=""><span style="font-size:large">Alejandro M. Bernardis.</span></span></b><br>

<span style="border-collapse:collapse"><b style="font-family:arial,sans-serif">Sr. </b></span><b style="font-family:arial,sans-serif">Digital </b><b style="font-family:arial,sans-serif">Consultant / Developer.</b><font face="Arial"><br>

</font><br><span style="font-family:arial,sans-serif">m. 55 61 14 62 67 (principal)</span></span></div><div><span style="font-size:13px;border-collapse:collapse"><font face="arial, sans-serif">m. 55 34 34 14 28</font><br>

<font face="arial, sans-serif">e.  </font><a href="mailto:alejandro.bernardis@gmail.com" style="font-family:arial,sans-serif;color:rgb(42,93,176)" target="_blank">alejandro.bernardis@gmail.com</a></span></div><div><span style="font-size:13px;border-collapse:collapse">s.  alejandro.bernardis<br>

t.  @alejandromb</span></div><div><span style="font-size:13px;border-collapse:collapse"><br><font face="arial, sans-serif">--</font></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">El contenido de este mensaje es confidencial. Si usted ha recibido<br>

este mensaje por error, le pedimos que no lo reenvíe y lo borre<br>inmediatamente.</span><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><br>The contents of this message are confidential. If message has been<br>

received in error, please do not forward and destroy immediately.</span></div></div></div></div></div></div></div>
</div>
<br><div><div><div class="h5"><div>On May 28, 2013, at 12:04 AM, Eliseo Ocampos <<a href="mailto:roskoff@gmail.com" target="_blank">roskoff@gmail.com</a>> wrote:</div><br></div></div><blockquote type="cite"><div><div class="h5">

<div dir="ltr">Buenas noches gente,<div><br></div><div>   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:</div>



<div><br></div><div><div>class HttpHandler(BaseHTTPRequestHandler):</div><div>    def do_GET(self):<br></div><div><div>        self.send_response(200)</div><div>        self.send_header('Access-Control-Allow-Origin', '*')</div>



<div>        self.send_header('Access-Control-Allow-Headers', 'X-Request, X-Requested-With')</div><div>        self.send_header('Content-type', 'application/octet-stream')</div><div>        self.end_headers()</div>



</div><div>        encrypted_config = self.cifrar_configuracion()<br></div><div>        self.wfile.write(encrypted_config)<br></div><div><br></div><div>    def cifrar_configuracion(self):</div><div>        # String de configuracion que se cifra y se retorna</div>



<div><br></div><div>def main():<br></div><div>    try:</div><div>        server = HTTPServer(('127.0.0.1', 8000), HttpHandler)</div><div>        print("Servidor corriendo en: <a href="http://127.0.0.1:8000/" target="_blank">127.0.0.1:8000</a>")</div>



<div>        server.serve_forever()</div><div>    except KeyboardInterrupt:</div><div>        server.socket.close()</div><div><br></div><div>if __name__ == '__main__':</div><div>    main()</div><div>

<br></div><div>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")</div>



</div><div><br></div><div>Este fue mi razonamiento obvio, pero luego me surgió el siguiente error: TypeError: 'HttpHandler' object is not callable</div><div><br></div><div>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.</div>



<div><br></div><div>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.</div><div>

<br></div><div>Saludos!</div><div>Eliseo.</div></div></div></div>
_______________________________________________<br>pyar mailing list <a href="mailto:pyar@python.org.ar" target="_blank">pyar@python.org.ar</a><br><a href="http://listas.python.org.ar/listinfo/pyar" target="_blank">http://listas.python.org.ar/listinfo/pyar</a><br>

<br>PyAr - Python Argentina - Sitio web: <a href="http://www.python.org.ar/" target="_blank">http://www.python.org.ar/</a><br><br>La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - <a href="http://www.usla.org.ar" target="_blank">http://www.usla.org.ar</a></blockquote>

</div><br></div></div><br>_______________________________________________<br>
pyar mailing list <a href="mailto:pyar@python.org.ar">pyar@python.org.ar</a><br>
<a href="http://listas.python.org.ar/listinfo/pyar" target="_blank">http://listas.python.org.ar/listinfo/pyar</a><br>
<br>
PyAr - Python Argentina - Sitio web: <a href="http://www.python.org.ar/" target="_blank">http://www.python.org.ar/</a><br>
<br>
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - <a href="http://www.usla.org.ar" target="_blank">http://www.usla.org.ar</a><br></blockquote></div><br></div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>pyar mailing list <a href="mailto:pyar@python.org.ar">pyar@python.org.ar</a></span><br><span><a href="http://listas.python.org.ar/listinfo/pyar">http://listas.python.org.ar/listinfo/pyar</a></span><br><span></span><br><span>PyAr - Python Argentina - Sitio web: <a href="http://www.python.org.ar/">http://www.python.org.ar/</a></span><br><span></span><br><span>La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - <a href="http://www.usla.org.ar">http://www.usla.org.ar</a></span></div></blockquote></body></html>