2008-11-16 8 views
12

Estoy buscando una implementación de código abierto de un cliente UPnP en Python, y más específicamente de su parte Internet Gateway Device (IGD).Python UPnP/IGD ¿Implementación del cliente?

Por ahora, sólo han sido capaces de encontrar las implementaciones de servidor de medios UPnP, en proyectos como PyMediaServer, PyMedS, BRisa o Coherence.

Estoy seguro de que podría usar esas bases de código como inicio, pero la parte del Servidor de Medios introducirá una complejidad innecesaria.

¿Puede recomendar una biblioteca cliente de UPnP (y con suerte IGD) Python? Una alternativa sería enviar llamadas a una biblioteca C como MiniUPnP, pero preferiría una implementación pura de Python.

Actualización: un tipo interesante de discusión relacionada de SSDP y UPnP está disponible en StackOverflow.

Respuesta

7

El código fuente MiniUPnP contiene un código de ejemplo de Python que utiliza la biblioteca C como módulo de extensión (consulte testupnpigd.py), que considero una solución adecuada a mi problema.

Justificación: esta no es la solución Python puro que estaba buscando, pero:

  • esfuerzo significativo ya se ha invertido en esta biblioteca,
  • es ligero (no aborda cuestiones Media Server),
  • IGD normalmente solo se utiliza en la configuración de la conexión, por lo que no se integra como un problema,
  • como una ventaja, sino que también proporciona una implementación NAT-PNP (el Apple concurrent de IGD, parte de Bonjour).
2

Creo que realmente debería considerar BRisa. Recientemente se convirtió en un framework UPnP de python puro, no enfocado solo en Media Server.

Proporciona muchos módulos y funciones utilitarios para que pueda compilar e implementar su dispositivo UPnP.

El proyecto también carece de comentarios :-). Te sugiero que uses el último código svn, si estás dispuesto a probar BRisa.

También puede contactar a los desarrolladores en #brisa en irc.freenode.org, estamos en línea o en ralentí.

+0

Pasé algún tiempo estudiando su documentación, pero estoy buscando una biblioteca modular muy simple. BRisa no se sentía de esa manera en mi humilde opinión. – oparisy