Articles of torcido

¿Dónde puedo encontrar una buena documentación de Python Twisted framework, entradas de blog, artículos, etc.?

Estoy jugando con Twisted y la documentación que se encuentra en su página de inicio no responde a todas mis preguntas. El tema que más me interesa en este momento es Twisted Application Framework. Además, algunos servidores de código abierto que utilizan un marco torcido proporcionarían un buen material para estudiar cómo está todo unido […]

¿Cuál es la forma correcta de cerrar una conexión SSH de concha retorcida?

¿Cuál es la forma correcta de cerrar una conexión SSH de concha retorcida? ¿Hay una forma explícita de hacer esto? Todos los ejemplos de caracoles retorcidos que he visto cierran el canal SSH y luego detienen el reactor. El cierre del reactor parece manejar el cierre de la conexión. Sin embargo, estoy usando el wxreactor […]

¿Cómo interactúo con un proceso hijo que pretende ser un terminal?

Estoy tratando de interactuar con un progtwig NCURSES. Como ejemplo, estoy usando la pantalla GNU y ejecuto aptitude dentro. (Podrías intentarlo con mc en su lugar). El siguiente progtwig inicia una sesión de pantalla con -x para conectarse a mi sesión. Quiero navegar presionando Flecha abajo y Flecha arriba. Si envío ‘q’ para salir, veo […]

Subclasificación estática.File

Soy nuevo en Twisted y estoy teniendo problemas con algunas subclases necesarias para la estática. Archivo en twisted. Estoy tratando de establecer encabezados de solicitud dentro de la subclase. class ResponseFile(static.File): def render_GET(self, request): request.setHeader(‘Content-Disposition’, [‘attachment ; filename=”tick_db_export.csv”‘]) static.File.render_GET(self, request) if __name__ == “__main__”: from twisted.internet import reactor root = ResponseFile(‘WebFolder’) testHandler = TestHandler() root.putChild(‘main’, […]

¿Cuál es la forma correcta de acceder a un transporte de protocolos en Twisted?

En el ejemplo del cliente TCP: from twisted.internet import reactor, protocol # a client protocol class EchoClient(protocol.Protocol): “””Once connected, send a message, then print the result.””” def connectionMade(self): self.transport.write(“hello, world!”) def dataReceived(self, data): “As soon as any data is received, write it back.” print “Server said:”, data self.transport.loseConnection() def connectionLost(self, reason): print “connection lost” class […]

Retorcido: ¿por qué el hecho de pasar una callback diferida a un subproceso aplazado hace que el subproceso se bloquee de repente?

Intenté sin éxito usar txredis (la api torcida sin locking para redis) para una cola de mensajes persistente que estoy tratando de configurar con un proyecto descarado en el que estoy trabajando. Descubrí que aunque el cliente no estaba bloqueando, se volvió mucho más lento de lo que podría haber sido porque lo que debería […]

Registro de conexiones SMTP con Twisted

Python novato aquí. Estoy escribiendo un servidor SMTP usando Twisted y twisted.mail.smtp. Me gustaría registrar las conexiones entrantes y posiblemente volcarlas cuando haya demasiadas conexiones concurrentes. Básicamente, quiero que se llame al método ConsoleMessageDelivery.connectionMade () en lo siguiente, cuando se realiza una nueva conexión: class ConsoleMessageDelivery: implements(smtp.IMessageDelivery) def connectionMade(self): # This never gets called def […]

¿Es posible usar gen.engine y gen.Task de tornado con retorcido?

El proyecto en el que estoy trabajando está todo escrito en Tornado, pero he incluido un poco de Twisted para tratar con XML-RPC asíncrono. Me preguntaba si puedes usar gen.engine de Tornado y generar gen.Task con el código de Twisted. es posible? Si es así, ¿cómo sería la syntax? Gracias por adelantado.

2 certificados SSL en trenzado

Yo tenía este código: from twisted.web.server import Site from twisted.web.static import Data from twisted.internet import reactor, ssl root = Data(“”, “text/plain”) site = Site(root) reactor.listenSSL(config.ws_port, site, ssl.DefaultOpenSSLContextFactory( ‘/etc/apache2/ssl/wc.key’, ‘/etc/apache2/ssl/wc.crt’) ) Pero tengo dominio adicional y otro certificado para ello. Necesito trabajar torcido con 2 certificados para cada dominio. ¿Cómo puedo agregar el segundo certificado para […]

Twisted.Web y AJAX

He implementado un servicio web de juguetes en Twisted.Web: from twisted.web import server, resource, http class RootResource(resource.Resource): def __init__(self): resource.Resource.__init__(self) self.putChild(‘test’, TestHandler()) class TestHandler(resource.Resource): isLeaf = True def __init__(self): resource.Resource.__init__(self) def render_GET(self, request): return self.render_POST(request) def render_POST(self, request): return “hello world!” if __name__ == “__main__”: import sys from twisted.internet import reactor reactor.listenTCP(8082, server.Site(RootResource())) reactor.run() Según […]