Articles of trenzado

La aplicación Python que utiliza Twisted deja de ejecutarse después de que el usuario cierre sesión en Windows XP

Heredé un proyecto usando la biblioteca Twisted Python. La aplicación finaliza después de que el usuario cierre sesión en Windows XP. El código de Python se ha convertido en un ejecutable utilizando bbfreeze. Además, el ejecutable generado por bbfreeze se registra como un servicio de Windows mediante instsrv.exe y srvany.exe. Tomé un ejemplo de chat […]

Python Scrapy: filtro basado en mimetype para evitar descargas de archivos que no sean de texto

Tengo un proyecto de scrapy en ejecución, pero está siendo intensivo en ancho de banda porque intenta descargar muchos archivos binarios (zip, tar, mp3, ..etc). Creo que la mejor solución es filtrar las solicitudes según el encabezado HTTP de tipo MIME (Content-Type :). Miré el código desechable y encontré esta configuración: DOWNLOADER_HTTPCLIENTFACTORY = ‘scrapy.core.downloader.webclient.ScrapyHTTPClientFactory’ Lo […]

Socket.IO vs. Twisted

Mi idea es construir una aplicación de chat simple para iOS y Android. En cualquier caso, mi pregunta está relacionada con el lado del servidor. La mejor opción para hacer una aplicación de chat, por lo que he leído, es construir un socket. Con referencia a la base de datos, mi intención es usar MySQL, […]

Integración Python Twisted con el módulo Cmd

Me gusta Python‘s Twisted y Cmd . Quiero usarlos juntos. Tengo algunas cosas que funcionan, pero hasta ahora no he descubierto cómo hacer que el proceso de completar las tabs funcione, porque no veo cómo recibir los eventos de la tecla keypres de inmediato (sin presionar Entrar) en LineReceiver de Twisted. Aquí está mi código […]

¿Cómo usar subprocesos en Scrapy / Twisted, es decir, cómo hacer llamadas asíncronas para bloquear el código en las devoluciones de llamadas de respuesta?

Necesito ejecutar algunos trabajos de multiproceso / multiproceso (porque tengo una biblioteca que usa llamadas de locking) en Scrapy, y después de su finalización, volver a solicitar el motor de Scrapy. Necesito algo como esto: def blocking_call(self, html): # …. # do some work in blocking call return Request(url) def parse(self, response): return self.blocking_call(response.body) ¿Como […]

Determine el número actual de conexiones atrasadas en la cola de escucha () de TCP

¿Hay alguna manera de averiguar el número actual de bashs de conexión que esperan aceptar () en un socket TCP en Linux? Supongo que podría contar la cantidad de aceptaciones () que tuvieron éxito antes de golpear EWOULDBLOCK en cada ciclo de eventos, pero estoy usando una biblioteca de alto nivel (Python / Twisted) que […]

Envío automático de mensajes específicos del usuario y de difusión desde una aplicación externa.

Totalmente nuevo para websockets. Estoy teniendo algunos problemas para entender cómo interactuar con Python Autobahn / twisted desde otra aplicación y parece que no puedo encontrar ningún ejemplo útil. Tengo una aplicación Python que se ejecuta en ciertos eventos para enviar uno de los dos tipos de mensajes. El primero es un mensaje de difusión […]

Ejecutando Scrapy en PyPy

¿Es posible ejecutar Scrapy en PyPy ? He revisado la documentación y el proyecto github, pero el único lugar donde se menciona PyPy es que hace 2 años se ejecutaron algunas pruebas unitarias en PyPy , consulte el soporte de PyPy . También hay errores de Scrapy en PyPy. La larga discusión ocurrió hace 3 […]

Twisted Python script en Raspberry Pi (Debian) para comunicarse con Arduino a través de USB

He estado trabajando en un proyecto Arduino / Raspberry Pi en el que me he encontrado a mí mismo aprendiendo no solo Python sino Twisted Python; así que me disculpo de antemano por mi novedad. Estoy tratando de mantenerlo simple por ahora y solo estoy intentando enviar un char en cualquier momento entre los dos […]

Enviando SIGINT (Ctrl-C) al progtwig que se ejecuta en la Consola Eclipse

He configurado una configuración de ejecución en Eclipse y necesito enviar SIGINT ( Ctrl + C ) al progtwig. Hay un código de limpieza en el progtwig que se ejecuta después de SIGINT, por lo que presionar los botones “Terminar” de Eclipse no funcionará (creo que envían SIGKILL). Escribir CTRL + C en la consola […]