Реализация клиента Python UPnP / IGD? - PullRequest
12 голосов
/ 17 ноября 2008

Я ищу реализацию с открытым исходным кодом клиента UPnP в Python и, более конкретно, его устройства интернет-шлюза (IGD).

На данный момент мне удалось найти только реализации UPnP Media Server в таких проектах, как PyMediaServer , PyMedS , BRisa или Coherence .

Я уверен, что мог бы использовать эти кодовые базы в качестве начала, но часть Медиа-сервера внесет ненужную сложность.

Так вы можете порекомендовать клиентскую библиотеку Python UPnP (и, надеюсь, IGD)? Альтернативой может быть отправка вызовов в библиотеку C, такую ​​как MiniUPnP , но я бы предпочел чистую реализацию Python.

Обновление: интересное, родственное обсуждение SSDP и UPnP доступно на StackOverflow .

Ответы [ 2 ]

7 голосов
/ 18 ноября 2008

Исходный код MiniUPnP содержит пример кода Python с использованием библиотеки C в качестве модуля расширения (см. testupnpigd.py), что я считаю правильным решением моей проблемы.

Обоснование: это не просто решение Python, которое я искал, но:

  • значительные усилия уже вложены в эту библиотеку,
  • это легкий (он не решает проблемы Media Server),
  • IGD обычно используется только при настройке соединения, поэтому неинтегрирующая его интеграция с кодом Python не выглядит проблемой,
  • в качестве бонуса также предоставляет реализацию NAT-PNP (Apple, параллельная IGD, часть Bonjour ).
2 голосов
/ 01 декабря 2008

Я думаю, вы должны рассмотреть BRisa. Недавно он стал чистым Python UPnP Framework, не ориентированным только на Media Server.

Он предоставляет множество вспомогательных модулей и функций для создания и развертывания устройства UPnP.

Проекту также не хватает обратной связи :-). Я предлагаю вам использовать последний svn-код, если вы хотите попробовать BRisa.

Вы также можете связаться с разработчиками на #brisa по адресу irc.freenode.org, мы либо в сети, либо в режиме ожидания.

...