# Check if we actually need to update this host.
elif self.is_uptodate(self.protocols):
- logger.debug(_("%s is already up to date") % self.hostname)
+ logger.info(_("The dynamic host %(hostname)s (%(provider)s) is already up to date") % \
+ { "hostname" : self.hostname, "provider" : self.name })
return
# Execute the update.
self.update()
+ logger.info(_("Dynamic DNS update for %(hostname)s (%(provider)s) successful") % \
+ { "hostname" : self.hostname, "provider" : self.name })
+
def update(self):
raise NotImplementedError
return data
+class DDNSProviderOpenDNS(DDNSProtocolDynDNS2, DDNSProvider):
+ handle = "opendns.com"
+ name = "OpenDNS"
+ website = "http://www.opendns.com"
+
+ # Detailed information about the update request and possible
+ # response codes can be obtained from here:
+ # https://support.opendns.com/entries/23891440
+
+ url = "https://updates.opendns.com/nic/update"
+
+ @property
+ def proto(self):
+ return self.get("proto")
+
+ def _prepare_request_data(self):
+ data = {
+ "hostname" : self.hostname,
+ "myip" : self.get_address(self.proto)
+ }
+
+ return data
+
+
class DDNSProviderOVH(DDNSProtocolDynDNS2, DDNSProvider):
handle = "ovh.com"
name = "OVH"