[PATCH] Add gid attribute to User command and associated data structure

Martin Sivak msivak at redhat.com
Wed Mar 20 16:31:19 UTC 2013


---
 pykickstart/commands/user.py    | 26 ++++++++++++++++++++++++++
 pykickstart/handlers/control.py | 10 +++++-----
 tests/commands/user.py          |  8 ++++++++
 3 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/pykickstart/commands/user.py b/pykickstart/commands/user.py
index 8ed9ca9..fc8c56a 100644
--- a/pykickstart/commands/user.py
+++ b/pykickstart/commands/user.py
@@ -110,6 +110,23 @@ class F12_UserData(F8_UserData):
 
         return retval
 
+class F19_UserData(F12_UserData):
+    removedKeywords = F12_UserData.removedKeywords
+    removedAttrs = F12_UserData.removedAttrs
+
+    def __init__(self, *args, **kwargs):
+        F12_UserData.__init__(self, *args, **kwargs)
+        self.gid = kwargs.get("gid", 0)
+
+    def _getArgsAsStr(self):
+        retval = F12_UserData._getArgsAsStr(self)
+
+        if self.gid:
+            retval += " --gid=%d" % (self.gid,)
+
+        return retval
+
+
 class FC6_User(KickstartCommand):
     removedKeywords = KickstartCommand.removedKeywords
     removedAttrs = KickstartCommand.removedAttrs
@@ -177,3 +194,12 @@ class F12_User(F8_User):
         op = F8_User._getParser(self)
         op.add_option("--gecos", type="string")
         return op
+
+class F19_User(F12_User):
+    removedKeywords = F12_User.removedKeywords
+    removedAttrs = F12_User.removedAttrs
+
+    def _getParser(self):
+        op = F12_User._getParser(self)
+        op.add_option("--gid", type="int")
+        return op
diff --git a/pykickstart/handlers/control.py b/pykickstart/handlers/control.py
index 52b0a94..523afb2 100644
--- a/pykickstart/handlers/control.py
+++ b/pykickstart/handlers/control.py
@@ -976,7 +976,7 @@ commandMap = {
         "logvol": logvol.F18_LogVol,
         "mediacheck": mediacheck.FC4_MediaCheck,
         "multipath": multipath.FC6_MultiPath,
-        "network": network.F18_Network,
+        "network": network.F19_Network,
         "nfs": method.F18_Method,
         "part": partition.F18_Partition,
         "partition": partition.F18_Partition,
@@ -996,7 +996,7 @@ commandMap = {
         "updates": updates.F7_Updates,
         "upgrade": upgrade.F11_Upgrade,
         "url": method.F18_Method,
-        "user": user.F12_User,
+        "user": user.F19_User,
         "vnc": vnc.F9_Vnc,
         "volgroup": volgroup.FC16_VolGroup,
         "xconfig": xconfig.F14_XConfig,
@@ -1277,7 +1277,7 @@ commandMap = {
         "updates": updates.F7_Updates,
         "upgrade": upgrade.F11_Upgrade,
         "url": method.F14_Method,
-        "user": user.F12_User,
+        "user": user.F19_User,
         "vnc": vnc.F9_Vnc,
         "volgroup": volgroup.FC16_VolGroup,
         "xconfig": xconfig.F14_XConfig,
@@ -1549,7 +1549,7 @@ dataMap = {
         "RaidData": raid.F18_RaidData,
         "RepoData": repo.F15_RepoData,
         "SshPwData": sshpw.F13_SshPwData,
-        "UserData": user.F12_UserData,
+        "UserData": user.F19_UserData,
         "VolGroupData": volgroup.FC16_VolGroupData,
         "ZFCPData": zfcp.F14_ZFCPData,
     },
@@ -1617,7 +1617,7 @@ dataMap = {
         "RaidData": raid.F15_RaidData,
         "RepoData": repo.F15_RepoData,
         "SshPwData": sshpw.F13_SshPwData,
-        "UserData": user.F12_UserData,
+        "UserData": user.F19_UserData,
         "VolGroupData": volgroup.FC16_VolGroupData,
         "ZFCPData": zfcp.F14_ZFCPData,
     }
diff --git a/tests/commands/user.py b/tests/commands/user.py
index 6325776..548acbe 100644
--- a/tests/commands/user.py
+++ b/tests/commands/user.py
@@ -72,6 +72,14 @@ class F12_TestCase(F8_TestCase):
         # pass
         self.assert_parse("user --name=user --gecos=\"User Name\"", "user --name=user --gecos=\"User Name\"\n")
 
+class F19_TestCase(F12_TestCase):
+    def runTest(self):
+        # run F12 test case
+        F12_TestCase.runTest(self)
+
+        # pass
+        self.assert_parse("user --name=user --gid=500", "user --name=user --gid=500\n")
+
 
 if __name__ == "__main__":
     unittest.main()
-- 
1.7.11.7



More information about the anaconda-patches mailing list