[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