reason = N_("Request error")
+class DDNSResolveError(DDNSNetworkError):
+ """
+ Thrown when a DNS record could not be resolved
+ because of a local error.
+ """
+ reason = N_("Could not resolve DNS entry")
+
+
class DDNSServiceUnavailableError(DDNSNetworkError):
"""
Equivalent to HTTP error code 503.
except urllib2.URLError, e:
if e.reason:
+ # Name or service not known
+ if e.reason.errno == -2:
+ raise DDNSResolveError
+
# Network Unreachable (e.g. no IPv6 access)
if e.reason.errno == 101:
raise DDNSNetworkUnreachableError
if e.errno == -2:
return []
+ # Temporary failure in name resolution
+ elif e.errno == -3:
+ raise DDNSResolveError(hostname)
+
# No record for requested family available (e.g. no AAAA)
elif e.errno == -5:
return []