* Re: [PATCH 1/2] Add new provider Servercow
[not found] <1486737359-22481-1-git-send-email-jonatan.schlag@ipfire.org>
@ 2017-02-13 13:01 ` Michael Tremer
2017-02-16 9:06 ` Stefan Schantl
0 siblings, 1 reply; 3+ messages in thread
From: Michael Tremer @ 2017-02-13 13:01 UTC (permalink / raw)
To: ddns
[-- Attachment #1: Type: text/plain, Size: 1865 bytes --]
Hello Jonatan,
thanks for sending in this patch. I have seen this work already, so I ACK this
patch.
Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
Good work!
Best,
-Michael
On Fri, 2017-02-10 at 15:35 +0100, Jonatan Schlag wrote:
> Tested-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
> Signed-off-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
> ---
> src/ddns/providers.py | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/src/ddns/providers.py b/src/ddns/providers.py
> index 2c30d42..01d7827 100644
> --- a/src/ddns/providers.py
> +++ b/src/ddns/providers.py
> @@ -1452,6 +1452,41 @@ class DDNSProviderSelfhost(DDNSProtocolDynDNS2,
> DDNSProvider):
> return data
>
>
> +class DDNSProviderServercow(DDNSProvider):
> + handle = "servercow.de"
> + name = "servercow.de"
> + website = "https://servercow.de/"
> + protocols = ("ipv4", "ipv6")
> +
> + url = "https://www.servercow.de/dnsupdate/update.php"
> + can_remove_records = False
> +
> + def update_protocol(self, proto):
> + data = {
> + "ipaddr" : self.get_address(proto),
> + "hostname" : self.hostname,
> + "username" : self.username,
> + "pass" : self.password,
> + }
> +
> + # Send request to provider
> + response = self.send_request(self.url, data=data)
> +
> + # Read response
> + output = response.read()
> +
> + # Server responds with OK if update was successful
> + if output.startswith("OK"):
> + return
> +
> + # Catch any errors
> + elif output.startswith("FAILED - Authentication failed"):
> + raise DDNSAuthenticationError
> +
> + # If we got here, some other update error happened
> + raise DDNSUpdateError(output)
> +
> +
> class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider):
> handle = "spdns.org"
> name = "SPDYN"
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] Add new provider Servercow
2017-02-13 13:01 ` [PATCH 1/2] Add new provider Servercow Michael Tremer
@ 2017-02-16 9:06 ` Stefan Schantl
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Schantl @ 2017-02-16 9:06 UTC (permalink / raw)
To: ddns
[-- Attachment #1: Type: text/plain, Size: 2265 bytes --]
Hello Jonatan and Michael,
thanks for sending in this patch and for testing.
Merged.
Best regards,
-Stefan
> Hello Jonatan,
>
> thanks for sending in this patch. I have seen this work already, so I
> ACK this
> patch.
>
> Reviewed-by: Michael Tremer <michael.tremer(a)ipfire.org>
>
> Good work!
>
> Best,
> -Michael
>
> On Fri, 2017-02-10 at 15:35 +0100, Jonatan Schlag wrote:
> > Tested-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
> > Signed-off-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
> > ---
> > src/ddns/providers.py | 35 +++++++++++++++++++++++++++++++++++
> > 1 file changed, 35 insertions(+)
> >
> > diff --git a/src/ddns/providers.py b/src/ddns/providers.py
> > index 2c30d42..01d7827 100644
> > --- a/src/ddns/providers.py
> > +++ b/src/ddns/providers.py
> > @@ -1452,6 +1452,41 @@ class
> > DDNSProviderSelfhost(DDNSProtocolDynDNS2,
> > DDNSProvider):
> > return data
> >
> >
> > +class DDNSProviderServercow(DDNSProvider):
> > + handle = "servercow.de"
> > + name = "servercow.de"
> > + website = "https://servercow.de/"
> > + protocols = ("ipv4", "ipv6")
> > +
> > + url = "https://www.servercow.de/dnsupdate/update.php"
> > + can_remove_records = False
> > +
> > + def update_protocol(self, proto):
> > + data = {
> > + "ipaddr" : self.get_address(proto),
> > + "hostname" : self.hostname,
> > + "username" : self.username,
> > + "pass" : self.password,
> > + }
> > +
> > + # Send request to provider
> > + response = self.send_request(self.url, data=data)
> > +
> > + # Read response
> > + output = response.read()
> > +
> > + # Server responds with OK if update was successful
> > + if output.startswith("OK"):
> > + return
> > +
> > + # Catch any errors
> > + elif output.startswith("FAILED - Authentication
> > failed"):
> > + raise DDNSAuthenticationError
> > +
> > + # If we got here, some other update error happened
> > + raise DDNSUpdateError(output)
> > +
> > +
> > class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider):
> > handle = "spdns.org"
> > name = "SPDYN"
>
> _______________________________________________
> ddns mailing list
> ddns(a)lists.ipfire.org
> http://lists.ipfire.org/mailman/listinfo/ddns
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] Add new provider Servercow
@ 2017-02-10 14:37 Jonatan Schlag
0 siblings, 0 replies; 3+ messages in thread
From: Jonatan Schlag @ 2017-02-10 14:37 UTC (permalink / raw)
To: ddns
[-- Attachment #1: Type: text/plain, Size: 1539 bytes --]
Tested-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
Signed-off-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
---
src/ddns/providers.py | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/src/ddns/providers.py b/src/ddns/providers.py
index 2c30d42..01d7827 100644
--- a/src/ddns/providers.py
+++ b/src/ddns/providers.py
@@ -1452,6 +1452,41 @@ class DDNSProviderSelfhost(DDNSProtocolDynDNS2, DDNSProvider):
return data
+class DDNSProviderServercow(DDNSProvider):
+ handle = "servercow.de"
+ name = "servercow.de"
+ website = "https://servercow.de/"
+ protocols = ("ipv4", "ipv6")
+
+ url = "https://www.servercow.de/dnsupdate/update.php"
+ can_remove_records = False
+
+ def update_protocol(self, proto):
+ data = {
+ "ipaddr" : self.get_address(proto),
+ "hostname" : self.hostname,
+ "username" : self.username,
+ "pass" : self.password,
+ }
+
+ # Send request to provider
+ response = self.send_request(self.url, data=data)
+
+ # Read response
+ output = response.read()
+
+ # Server responds with OK if update was successful
+ if output.startswith("OK"):
+ return
+
+ # Catch any errors
+ elif output.startswith("FAILED - Authentication failed"):
+ raise DDNSAuthenticationError
+
+ # If we got here, some other update error happened
+ raise DDNSUpdateError(output)
+
+
class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider):
handle = "spdns.org"
name = "SPDYN"
--
2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-16 9:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1486737359-22481-1-git-send-email-jonatan.schlag@ipfire.org>
2017-02-13 13:01 ` [PATCH 1/2] Add new provider Servercow Michael Tremer
2017-02-16 9:06 ` Stefan Schantl
2017-02-10 14:37 Jonatan Schlag
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox