Hello Dirk,
thanks for sending the patch. I've divided your changes into two patches and merged them.
Best regards,
-Stefan
Signed-off-by: Dirk Wagner dirk.wagner@ipfire.org
README | 1 + src/ddns/errors.py | 8 +++++++- src/ddns/providers.py | 15 ++++++++++++++- src/ddns/system.py | 4 ++++ 4 files changed, 26 insertions(+), 2 deletions(-) mode change 100644 => 100755 README mode change 100644 => 100755 src/ddns/errors.py mode change 100644 => 100755 src/ddns/providers.py mode change 100644 => 100755 src/ddns/system.py
diff --git a/README b/README old mode 100644 new mode 100755 index 40f1e7f..5f1911d --- a/README +++ b/README @@ -55,6 +55,7 @@ SUPPORTED PROVIDERS: dns.lightningwirelabs.com dnsmadeeasy.com dnspark.com
- do.de
domains.google.com domopoli.de dtdns.com diff --git a/src/ddns/errors.py b/src/ddns/errors.py old mode 100644 new mode 100755 index 58a5ba9..e5383dc --- a/src/ddns/errors.py +++ b/src/ddns/errors.py @@ -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 # @@ -160,6 +160,12 @@ class DDNSServiceUnavailableError(DDNSNetworkError): """ reason = N_("Service unavailable")
+class DDNSTooManyRequests(DDNSError):
- """
Raised when too many requests occured.
- """
- reason = N_("Too many requests")
class DDNSUpdateError(DDNSError): """ diff --git a/src/ddns/providers.py b/src/ddns/providers.py old mode 100644 new mode 100755 index 2c30d42..2a74511 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -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 # @@ -840,7 +840,20 @@ class DDNSProviderDynDNS(DDNSProtocolDynDNS2, DDNSProvider): url = "https://members.dyndns.org/nic/update"
+class DDNSProviderDomainOffensive(DDNSProtocolDynDNS2, DDNSProvider):
- handle = "do.de"
- name = "Domain-Offensive"
- website = "http://dyn.com/dns/"
- protocols = ("ipv4",)
- # Detailed information about the request and response codes
- # are available on the providers webpage.
- # https://www.do.de/wiki/FlexDNS_-_Entwickler
- url = "https://ddns.do.de/"
class DDNSProviderDynU(DDNSProtocolDynDNS2, DDNSProvider): handle = "dynu.com" name = "Dynu" diff --git a/src/ddns/system.py b/src/ddns/system.py old mode 100644 new mode 100755 index c268ba5..67ea553 --- a/src/ddns/system.py +++ b/src/ddns/system.py @@ -194,6 +194,10 @@ class DDNSSystem(object): elif e.code == 404: raise DDNSNotFound(e.reason)
# 429 - Too Many Requests
elif e.code == 429:
raise DDNSTooManyRequests(e.reason)
# 500 - Internal Server Error elif e.code == 500: raise DDNSInternalServerError(e.reason)