[Thincrust-devel] [PATCH] Modified the firewall to use a callback instead of the 2.5 append_const

bkearney at redhat.com bkearney at redhat.com
Mon Nov 3 19:08:18 UTC 2008


From: Bryan Kearney <bkearney at onetimer.usersys.redhat.com>

---
 pykickstart/commands/firewall.py |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/pykickstart/commands/firewall.py b/pykickstart/commands/firewall.py
index 0a87cfa..f001760 100644
--- a/pykickstart/commands/firewall.py
+++ b/pykickstart/commands/firewall.py
@@ -22,6 +22,14 @@ import string
 from imgcreate.pykickstart.base import *
 from imgcreate.pykickstart.options import *
 
+def append_const_cb( const ):
+    def cb( option, opt_str, value, parser ):
+        if not getattr(parser.values, option.dest):
+            setattr(parser.values, option.dest, list())
+        getattr(parser.values, option.dest).append(const)
+    return cb
+    
+
 class FC3_Firewall(KickstartCommand):
     def __init__(self, writePriority=0, enabled=None, ports=None, trusts=None):
         KickstartCommand.__init__(self, writePriority)
@@ -147,7 +155,7 @@ class F10_Firewall(F9_Firewall):
 
             return retval + "%s\n" % svcstr
         else:
-            return retval
+            return retval            
 
     def _getParser(self):
         def service_cb (option, opt_str, value, parser):
@@ -158,9 +166,9 @@ class F10_Firewall(F9_Firewall):
         op = F9_Firewall._getParser(self)
         op.add_option("--service", dest="services", action="callback",
                       callback=service_cb, nargs=1, type="string")
-        op.add_option("--ftp", dest="services", action="append_const", const="ftp")
-        op.add_option("--http", dest="services", action="append_const", const="http")
-        op.add_option("--smtp", dest="services", action="append_const", const="smtp")
-        op.add_option("--ssh", dest="services", action="append_const", const="ssh")
+        op.add_option("--ftp", dest="services", action="callback", callback=append_const_cb("ftp"))
+        op.add_option("--http", dest="services", action="callback", callback=append_const_cb("http"))
+        op.add_option("--smtp", dest="services", action="callback", callback=append_const_cb("smtp"))
+        op.add_option("--ssh", dest="services", action="callback", callback=append_const_cb("ssh"))
         op.add_option("--telnet", deprecated=1)
         return op
-- 
1.5.5.1




More information about the Thincrust-devel mailing list