[1/2] Add new provider Servercow
Message ID | 1486737359-22481-1-git-send-email-jonatan.schlag@ipfire.org |
---|---|
State | Accepted |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (unknown [172.28.1.200]) by web02.ipfire.org (Postfix) with ESMTP id EBF226154F for <patchwork@ipfire.org>; Fri, 10 Feb 2017 15:36:16 +0100 (CET) Received: from mail01.ipfire.org (localhost [IPv6:::1]) by mail01.ipfire.org (Postfix) with ESMTP id A01379DB; Fri, 10 Feb 2017 15:36:14 +0100 (CET) Received: from ipfire.local.familyschlag (dslb-088-073-223-024.088.073.pools.vodafone-ip.de [88.73.223.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 09A03954; Fri, 10 Feb 2017 15:36:10 +0100 (CET) From: Jonatan Schlag <jonatan.schlag@ipfire.org> To: ddns@lists.ipfire.org Subject: [PATCH 1/2] Add new provider Servercow Date: Fri, 10 Feb 2017 15:35:58 +0100 Message-Id: <1486737359-22481-1-git-send-email-jonatan.schlag@ipfire.org> X-Mailer: git-send-email 2.7.4 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <http://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <http://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Cc: andre.peters@servercow.de, development@lists.ipfire.org Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Message
Jonatan Schlag
Feb. 11, 2017, 1:35 a.m. UTC
Tested-by: Jonatan Schlag <jonatan.schlag@ipfire.org> Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org> --- src/ddns/providers.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Comments
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@ipfire.org> Good work! Best, -Michael On Fri, 2017-02-10 at 15:35 +0100, Jonatan Schlag wrote: > Tested-by: Jonatan Schlag <jonatan.schlag@ipfire.org> > Signed-off-by: Jonatan Schlag <jonatan.schlag@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"