iptables.py runs on python3
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 28 Nov 2019 11:22:07 +0000 (12:22 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 28 Nov 2019 11:22:07 +0000 (12:22 +0100)
system/template-qemu/iptables.py

index 8e1f92e..d694878 100755 (executable)
@@ -1,36 +1,35 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 
 import sys
 import re
 
-def main ():
-    fin=open(sys.argv[1])
-    fou=open(sys.argv[2],"w")
-    ip=sys.argv[3]
-    
-    found=False
-    lo_matcher=re.compile("\A(?P<left>.+)\s+-i\s+lo\s+-j\s+ACCEPT")
-    # what comes out of iptables-save has short-options syntax
-    ip_matcher=re.compile(".*-(s|d) %s"%ip)
-    for line in fin.readlines():
-        attempt=lo_matcher.match(line)
-        if attempt:
-            fou.write(line)
-            # open-up for this IP
-            fou.write("%s -s %s -j ACCEPT\n"%(attempt.group('left'),ip))
-            fou.write("%s -d %s -j ACCEPT\n"%(attempt.group('left'),ip))
-            found=True
-        else:
-            attempt = ip_matcher.match(line)
-            # do not rewrite old lines for this ip
-            if not attempt:
+
+def main():
+    with open(sys.argv[1]) as fin, open(sys.argv[2], "w") as fou:
+        ip = sys.argv[3]
+
+        found = False
+        lo_matcher = re.compile("\A(?P<left>.+)\s+-i\s+lo\s+-j\s+ACCEPT")
+        # what comes out of iptables-save has short-options syntax
+        ip_matcher = re.compile(".*-(s|d) %s" % ip)
+        for line in fin.readlines():
+            attempt = lo_matcher.match(line)
+            if attempt:
                 fou.write(line)
+                # open-up for this IP
+                fou.write("%s -s %s -j ACCEPT\n" % (attempt.group('left'), ip))
+                fou.write("%s -d %s -j ACCEPT\n" % (attempt.group('left'), ip))
+                found = True
+            else:
+                attempt = ip_matcher.match(line)
+                # do not rewrite old lines for this ip
+                if not attempt:
+                    fou.write(line)
+    if found:
+        return 0
+    else:
+        return 1
 
-    fin.close()
-    fou.close()
-    if found : return 0
-    else : return 1
 
 if __name__ == '__main__':
-    main()
-                    
+    exit(main())