use the new shiny BlockipError
[toast/tdyndns.git] / bin / tdyndns_update
index b43286ed07cf3b1720994449205c80ba4adb7d8b..8f943f8fbeee8f8761db745ca965adbac1a0403b 100755 (executable)
@@ -2,7 +2,7 @@
 import sys
 import re
 import argparse
-from subprocess import Popen, PIPE
+from subprocess import Popen, PIPE, call
 import ipaddr
 
 
@@ -51,22 +51,20 @@ def blockip_whitelist_add(ip):
        """
        :param ip: ipv4 address
        :raises a BlockipError in case of errors."""
-       command = "-I blockip -s {ip} -j ACCEPT\n\n".format(ip=ip)
-       p = Popen(['iptables'], stdin=PIPE)
-       p.communicate(command)
-       if p.returncode != 0:
-               raise NsupdateError(p.returncode)
+       command = "iptables -I blockip -s {ip} -j ACCEPT".format(ip=ip)
+       p = call(command, shell=True)
+       if p != 0:
+               raise BlockipError(p)
 
 
 def blockip_whitelist_delete(ip):
        """
        :param ip: ipv4 address
        :raises a BlockipError in case of errors."""
-       command = "-D blockip -s {ip} -j ACCEPT\n\n".format(ip=ip)
-       p = Popen(['iptables'], stdin=PIPE)
-       p.communicate(command)
-       if p.returncode != 0:
-               raise NsupdateError(p.returncode)
+       command = "iptables -D blockip -s {ip} -j ACCEPT".format(ip=ip)
+       p = call(command, shell=True)
+       if p != 0:
+               raise BlockipError(p)
 
 
 def main(args):