cf28b5c7f787c51852997cd7b953d00a68b31ab7
[platform/upstream/mic.git] / mic / 3rdparty / pykickstart / commands / autopart.py
1 #
2 # Chris Lumens <clumens@redhat.com>
3 #
4 # Copyright 2005, 2006, 2007, 2008 Red Hat, Inc.
5 #
6 # This copyrighted material is made available to anyone wishing to use, modify,
7 # copy, or redistribute it subject to the terms and conditions of the GNU
8 # General Public License v.2.  This program is distributed in the hope that it
9 # will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
10 # implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 # See the GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License along with
14 # this program; if not, write to the Free Software Foundation, Inc., 51
15 # Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  Any Red Hat
16 # trademarks that are incorporated in the source code or documentation are not
17 # subject to the GNU General Public License and may only be used or replicated
18 # with the express permission of Red Hat, Inc. 
19 #
20 from pykickstart.base import *
21 from pykickstart.errors import *
22 from pykickstart.options import *
23
24 import gettext
25 _ = lambda x: gettext.ldgettext("pykickstart", x)
26
27 class FC3_AutoPart(KickstartCommand):
28     removedKeywords = KickstartCommand.removedKeywords
29     removedAttrs = KickstartCommand.removedAttrs
30
31     def __init__(self, writePriority=100, *args, **kwargs):
32         KickstartCommand.__init__(self, writePriority, *args, **kwargs)
33         self.autopart = kwargs.get("autopart", False)
34
35     def __str__(self):
36         retval = KickstartCommand.__str__(self)
37
38         if self.autopart:
39             retval += "autopart\n"
40
41         return retval
42
43     def parse(self, args):
44         if len(args) > 0:
45             raise KickstartValueError, formatErrorMsg(self.lineno, msg=_("Kickstart command %s does not take any arguments") % "autopart")
46
47         self.autopart = True
48         return self
49
50 class F9_AutoPart(FC3_AutoPart):
51     removedKeywords = FC3_AutoPart.removedKeywords
52     removedAttrs = FC3_AutoPart.removedAttrs
53
54     def __init__(self, writePriority=100, *args, **kwargs):
55         FC3_AutoPart.__init__(self, writePriority=writePriority, *args, **kwargs)
56         self.encrypted = kwargs.get("encrypted", False)
57         self.passphrase = kwargs.get("passphrase", "")
58
59         self.op = self._getParser()
60
61     def __str__(self):
62         retval = KickstartCommand.__str__(self)
63
64         if self.autopart:
65             retval += "autopart"
66
67         if self.encrypted:
68             retval += " --encrypted"
69
70             if self.passphrase != "":
71                 retval += " --passphrase=\"%s\""% self.passphrase
72
73         if retval != "":
74             retval += "\n"
75
76         return retval
77
78     def _getParser(self):
79         op = KSOptionParser()
80         op.add_option("--encrypted", action="store_true", default=False)
81         op.add_option("--passphrase")
82         return op
83
84     def parse(self, args):
85         (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
86         self._setToSelf(self.op, opts)
87         self.autopart = True
88         return self
89
90 class F12_AutoPart(F9_AutoPart):
91     removedKeywords = F9_AutoPart.removedKeywords
92     removedAttrs = F9_AutoPart.removedAttrs
93
94     def __init__(self, writePriority=100, *args, **kwargs):
95         F9_AutoPart.__init__(self, writePriority=writePriority, *args, **kwargs)
96
97         self.escrowcert = kwargs.get("escrowcert", "")
98         self.backuppassphrase = kwargs.get("backuppassphrase", False)
99
100     def __str__(self):
101         retval = F9_AutoPart.__str__(self)
102
103         if self.encrypted and self.escrowcert != "":
104             retval = retval.strip()
105
106             retval += " --escrowcert=\"%s\"" % self.escrowcert
107
108             if self.backuppassphrase:
109                 retval += " --backuppassphrase"
110
111             retval += "\n"
112
113         return retval
114
115     def _getParser(self):
116         op = F9_AutoPart._getParser(self)
117         op.add_option("--escrowcert")
118         op.add_option("--backuppassphrase", action="store_true", default=False)
119         return op