]> git.ipfire.org Git - oddments/ddns.git/blobdiff - src/ddns/providers.py
freedns.afraid.com: Read accidently removed exeption.
[oddments/ddns.git] / src / ddns / providers.py
index 90aa6af691048d8a142e29896caf8ebcbf077ea9..99da4bf00ca89efeda1497f50ce92c852da7c138 100644 (file)
@@ -98,11 +98,11 @@ class DDNSProvider(object):
 
        def __call__(self, force=False):
                if force:
-                       logger.info(_("Updating %s forced") % self.hostname)
+                       logger.debug(_("Updating %s forced") % self.hostname)
 
                # Check if we actually need to update this host.
                elif self.is_uptodate(self.protocols):
-                       logger.info(_("%s is already up to date") % self.hostname)
+                       logger.debug(_("%s is already up to date") % self.hostname)
                        return
 
                # Execute the update.
@@ -139,11 +139,11 @@ class DDNSProvider(object):
                """
                return self.core.system.send_request(*args, **kwargs)
 
-       def get_address(self, proto):
+       def get_address(self, proto, default=None):
                """
                        Proxy method to get the current IP address.
                """
-               return self.core.system.get_address(proto)
+               return self.core.system.get_address(proto) or default
 
 
 class DDNSProviderAllInkl(DDNSProvider):
@@ -427,10 +427,13 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider):
                elif "is an invalid IP address" in output:
                        raise DDNSRequestError(_("Invalid IP address has been sent."))
 
+               # If we got here, some other update error happened.
+               raise DDNSUpdateError
+
 
 class DDNSProviderLightningWireLabs(DDNSProvider):
        handle    = "dns.lightningwirelabs.com"
-       name      = "Lightning Wire Labs"
+       name      = "Lightning Wire Labs DNS Service"
        website   = "http://dns.lightningwirelabs.com/"
 
        # Information about the format of the HTTPS request is to be found
@@ -440,22 +443,10 @@ class DDNSProviderLightningWireLabs(DDNSProvider):
        def update(self):
                data =  {
                        "hostname" : self.hostname,
+                       "address6" : self.get_address("ipv6", "-"),
+                       "address4" : self.get_address("ipv4", "-"),
                }
 
-               # Check if we update an IPv6 address.
-               address6 = self.get_address("ipv6")
-               if address6:
-                       data["address6"] = address6
-
-               # Check if we update an IPv4 address.
-               address4 = self.get_address("ipv4")
-               if address4:
-                       data["address4"] = address4
-
-               # Raise an error if none address is given.
-               if not data.has_key("address6") and not data.has_key("address4"):
-                       raise DDNSConfigurationError
-
                # Check if a token has been set.
                if self.token:
                        data["token"] = self.token