generic-poky/scripts/lib/mic/kickstart/custom_commands/desktop.py

96 lines
3.5 KiB
Python

#!/usr/bin/python -tt
#
# Copyright (c) 2008, 2009, 2010 Intel, Inc.
#
# Yi Yang <yi.y.yang@intel.com>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; version 2 of the License
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from pykickstart.base import *
from pykickstart.errors import *
from pykickstart.options import *
class Mic_Desktop(KickstartCommand):
def __init__(self, writePriority=0,
defaultdesktop=None,
defaultdm=None,
autologinuser=None,
session=None):
KickstartCommand.__init__(self, writePriority)
self.__new_version = False
self.op = self._getParser()
self.defaultdesktop = defaultdesktop
self.autologinuser = autologinuser
self.defaultdm = defaultdm
self.session = session
def __str__(self):
retval = ""
if self.defaultdesktop != None:
retval += " --defaultdesktop=%s" % self.defaultdesktop
if self.session != None:
retval += " --session=\"%s\"" % self.session
if self.autologinuser != None:
retval += " --autologinuser=%s" % self.autologinuser
if self.defaultdm != None:
retval += " --defaultdm=%s" % self.defaultdm
if retval != "":
retval = "# Default Desktop Settings\ndesktop %s\n" % retval
return retval
def _getParser(self):
try:
op = KSOptionParser(lineno=self.lineno)
except TypeError:
# the latest version has not lineno argument
op = KSOptionParser()
self.__new_version = True
op.add_option("--defaultdesktop", dest="defaultdesktop",
action="store",
type="string",
nargs=1)
op.add_option("--autologinuser", dest="autologinuser",
action="store",
type="string",
nargs=1)
op.add_option("--defaultdm", dest="defaultdm",
action="store",
type="string",
nargs=1)
op.add_option("--session", dest="session",
action="store",
type="string",
nargs=1)
return op
def parse(self, args):
if self.__new_version:
(opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
else:
(opts, extra) = self.op.parse_args(args=args)
if extra:
m = _("Unexpected arguments to %(command)s command: %(options)s") \
% {"command": "desktop", "options": extra}
raise KickstartValueError, formatErrorMsg(self.lineno, msg=m)
self._setToSelf(self.op, opts)