]> git.ipfire.org Git - ddns.git/blobdiff - src/ddns/errors.py
Add exception for HTTP 429 status codes.
[ddns.git] / src / ddns / errors.py
index fac3890dbdcb72d31094d9a188de75ae4624593e..a8a201751f1111d41c2723681897e1261c467803 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # ddns - A dynamic DNS client for IPFire                                      #
-# Copyright (C) 2012 IPFire development team                                  #
+# Copyright (C) 2012-2017 IPFire development team                             #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -64,6 +64,13 @@ class DDNSBlockedError(DDNSError):
        reason = N_("The server denies any updates from this client")
 
 
+class DDNSCertificateError(DDNSError):
+       """
+               Thrown when a server presented an invalid certificate.
+       """
+       reason = N_("Invalid certificate")
+
+
 class DDNSConfigurationError(DDNSError):
        """
                Thrown when invalid or insufficient
@@ -109,6 +116,20 @@ class DDNSNetworkUnreachableError(DDNSNetworkError):
        reason = N_("Network unreachable")
 
 
+class DDNSNoRouteToHostError(DDNSNetworkError):
+       """
+               Thrown when there is no route to a host.
+       """
+       reason = N_("No route to host")
+
+
+class DDNSNotFound(DDNSError):
+       """
+               Thrown when the called URL has not been found
+       """
+       reason = N_("Not found")
+
+
 class DDNSRequestError(DDNSError):
        """
                Thrown when a request could
@@ -117,6 +138,22 @@ class DDNSRequestError(DDNSError):
        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 DDNSSSLError(DDNSNetworkError):
+       """
+               Raised when a SSL connection could not be
+               negotiated.
+       """
+       reason = N_("SSL negotiation error")
+
+
 class DDNSServiceUnavailableError(DDNSNetworkError):
        """
                Equivalent to HTTP error code 503.
@@ -124,6 +161,13 @@ class DDNSServiceUnavailableError(DDNSNetworkError):
        reason = N_("Service unavailable")
 
 
+class DDNSTooManyRequests(DDNSError):
+       """
+               Raised when too many requests occured.
+       """
+       reason = N_("Too many requests")
+
+
 class DDNSUpdateError(DDNSError):
        """
                Thrown when an update could not be