X-Git-Url: http://git.ipfire.org/?p=oddments%2Fddns.git;a=blobdiff_plain;f=src%2Fddns%2F__init__.py;h=d14097dbcb9cf97be66162352765cf73061ab1b6;hp=09511ce66800fa26d0247faa2aded043c32a34a0;hb=251ab13f71b9de2bdedcd6d69cd7f7f49874b4c0;hpb=87649e22f65f444c1ec1b7bd3ec1dc545e413132 diff --git a/src/ddns/__init__.py b/src/ddns/__init__.py index 09511ce..d14097d 100644 --- a/src/ddns/__init__.py +++ b/src/ddns/__init__.py @@ -54,8 +54,6 @@ class DDNSCore(object): if debug: rootlogger = logging.getLogger("ddns") rootlogger.setLevel(logging.DEBUG) - for handler in rootlogger.handlers: - handler.setLevel(logging.DEBUG) logger.debug(_("Debugging mode enabled")) @@ -78,17 +76,14 @@ class DDNSCore(object): """ assert issubclass(provider, DDNSProvider) - provider_handle = provider.INFO.get("handle") - assert provider_handle + if not all((provider.handle, provider.name, provider.website)): + raise DDNSError(_("Provider is not properly configured")) - assert not self.providers.has_key(provider_handle), \ - "Provider '%s' has already been registered" % provider_handle + assert not self.providers.has_key(provider.handle), \ + "Provider '%s' has already been registered" % provider.handle - provider_name = provider.INFO.get("name") - assert provider_name - - logger.debug("Registered new provider: %s (%s)" % (provider_name, provider_handle)) - self.providers[provider_handle] = provider + logger.debug("Registered new provider: %s (%s)" % (provider.name, provider.handle)) + self.providers[provider.handle] = provider def register_all_providers(self): """ @@ -190,15 +185,16 @@ class DDNSCore(object): try: entry(force=force) - except DDNSUpdateError, e: + except DDNSError, e: logger.error(_("Dynamic DNS update for %(hostname)s (%(provider)s) failed:") % \ { "hostname" : entry.hostname, "provider" : entry.name }) - logger.error(" %s" % e) + logger.error(" %s: %s" % (e.__class__.__name__, e.reason)) + if e.message: + logger.error(" %s" % e.message) except Exception, e: logger.error(_("Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled exception:") % \ - { "hostname" : entry.hostname, "provider" : entry.name }) - logger.error(" %s" % e) + { "hostname" : entry.hostname, "provider" : entry.name }, exc_info=True) else: logger.info(_("Dynamic DNS update for %(hostname)s (%(provider)s) successful") % \