indentation and imports cleaned up
[p2pool.git] / nattraverso / pynupnp / upnpxml.py
index d49df63..75059dc 100644 (file)
@@ -15,75 +15,75 @@ import logging
 
 # Allowed UPnP services to use when mapping ports/external addresses
 WANSERVICES = ['urn:schemas-upnp-org:service:WANIPConnection:1',
-                               'urn:schemas-upnp-org:service:WANPPPConnection:1']
+    'urn:schemas-upnp-org:service:WANPPPConnection:1']
 
 class UPnPXml:
-       """
-       This objects parses the XML definition, and stores the useful
-       results in attributes.
+    """
+    This objects parses the XML definition, and stores the useful
+    results in attributes.
+    
+    The device infos dictionnary may contain the following keys:
+        - friendlyname: A friendly name to call the device.
+        - manufacturer: A manufacturer name for the device.
+    
+    Here are the different attributes:
+        - deviceinfos: A dictionnary of device infos as defined above.
+        - controlurl: The control url, this is the url to use when sending SOAP
+            requests to the device, relative to the base url.
+        - wanservice: The WAN service to be used, one of the L{WANSERVICES}
+        - urlbase: The base url to use when talking in SOAP to the device.
+    
+    The full url to use is obtained by urljoin(urlbase, controlurl)
+    """
+    
+    def __init__(self, xml):
+        """
+        Parse the given XML string for UPnP infos. This creates the attributes
+        when they are found, or None if no value was found.
+        
+        @param xml: a xml string to parse
+        """
+        logging.debug("Got UPNP Xml description:\n%s", xml)
+        doc = minidom.parseString(xml)
+        
+        # Fetch various device info
+        self.deviceinfos = {}
+        try:
+            attributes = {
+                'friendlyname':'friendlyName',
+                'manufacturer' : 'manufacturer'
+            }
+            device = doc.getElementsByTagName('device')[0]
+            for name, tag in attributes.iteritems():
+                try:
+                    self.deviceinfos[name] = device.getElementsByTagName(
+                        tag)[0].firstChild.datas.encode('utf-8')
+                except:
+                    pass
+        except:
+            pass
+        
+        # Fetch device control url
+        self.controlurl = None
+        self.wanservice = None
+        
+        for service in doc.getElementsByTagName('service'):
+            try:
+                stype = service.getElementsByTagName(
+                    'serviceType')[0].firstChild.data.encode('utf-8')
+                if stype in WANSERVICES:
+                    self.controlurl = service.getElementsByTagName(
+                        'controlURL')[0].firstChild.data.encode('utf-8')
+                    self.wanservice = stype
+                    break
+            except:
+                pass
+        
+        # Find base url
+        self.urlbase = None
+        try:
+            self.urlbase = doc.getElementsByTagName(
+                'URLBase')[0].firstChild.data.encode('utf-8')
+        except:
+            pass
 
-       The device infos dictionnary may contain the following keys:
-               - friendlyname: A friendly name to call the device.
-               - manufacturer: A manufacturer name for the device.
-
-       Here are the different attributes:
-               - deviceinfos: A dictionnary of device infos as defined above.
-               - controlurl: The control url, this is the url to use when sending SOAP
-                       requests to the device, relative to the base url.
-               - wanservice: The WAN service to be used, one of the L{WANSERVICES}
-               - urlbase: The base url to use when talking in SOAP to the device.
-
-       The full url to use is obtained by urljoin(urlbase, controlurl)
-       """
-       
-       def __init__(self, xml):
-               """
-               Parse the given XML string for UPnP infos. This creates the attributes
-               when they are found, or None if no value was found.
-               
-               @param xml: a xml string to parse
-               """
-               logging.debug("Got UPNP Xml description:\n%s", xml)
-               doc = minidom.parseString(xml)
-               
-               # Fetch various device info
-               self.deviceinfos = {}
-               try:
-                       attributes = {
-                               'friendlyname':'friendlyName',
-                               'manufacturer' : 'manufacturer'
-                       }
-                       device = doc.getElementsByTagName('device')[0]
-                       for name, tag in attributes.iteritems():
-                               try:
-                                       self.deviceinfos[name] = device.getElementsByTagName(
-                                               tag)[0].firstChild.datas.encode('utf-8')
-                               except:
-                                       pass
-               except:
-                       pass
-               
-               # Fetch device control url
-               self.controlurl = None
-               self.wanservice = None
-               
-               for service in doc.getElementsByTagName('service'):
-                       try:
-                               stype = service.getElementsByTagName(
-                                       'serviceType')[0].firstChild.data.encode('utf-8')
-                               if stype in WANSERVICES:
-                                       self.controlurl = service.getElementsByTagName(
-                                               'controlURL')[0].firstChild.data.encode('utf-8')
-                                       self.wanservice = stype
-                                       break
-                       except:
-                               pass
-               
-               # Find base url
-               self.urlbase = None
-               try:
-                       self.urlbase = doc.getElementsByTagName(
-                               'URLBase')[0].firstChild.data.encode('utf-8')
-               except:
-                       pass
-