UPnP logging improvlement

This commit is contained in:
mailchuck 2015-11-21 10:15:20 +01:00 committed by Peter Surda
parent 3c9df7151c
commit 5432c6e0c8
1 changed files with 14 additions and 2 deletions

View File

@ -23,8 +23,18 @@ def searchRouter():
routers = []
sock.settimeout(0.5)
try:
resp,(ip,port) = sock.recvfrom(1000)
while resp:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
sock.settimeout(2)
logger.debug("Sending UPnP query")
sock.sendto(ssdpRequest, (SSDP_ADDR, SSDP_PORT))
except:
logger.exception("UPnP sock failed")
try:
while True:
resp,(ip,port) = sock.recvfrom(1000)
if resp is None:
continue
routers.append(Router(resp, ip))
resp,(ip,port) = sock.recvfrom(1000)
except:pass
@ -146,10 +156,12 @@ class Router:
return resp
def DeletePortMapping(self, externalPort, protocol):
from debug import logger
resp = self.soapRequest('WANIPConnection:1', 'DeletePortMapping', [
('NewExternalPort', str(externalPort)),
('NewProtocol', protocol),
])
logger.info("Removed UPnP mapping on external port %i", extPort)
return resp
def GetExternalIPAddress(self):