本文整理汇总了Python中pykickstart.errors.formatErrorMsg函数的典型用法代码示例。如果您正苦于以下问题:Python formatErrorMsg函数的具体用法?Python formatErrorMsg怎么用?Python formatErrorMsg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了formatErrorMsg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _parseJoin
def _parseJoin(self, args):
try:
# We only support these args
opts, remaining = getopt.getopt(args, "", ("client-software=",
"server-software=",
"membership-software=",
"one-time-password=",
"no-password",
"computer-ou="))
except getopt.GetoptError as ex:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_(
"Invalid realm arguments: %s") % ex))
if len(remaining) != 1:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_(
"Specify only one realm to join")))
# Parse successful, just use this as the join command
self.join_realm = remaining[0]
self.join_args = args
# Build a discovery command
self.discover_options = []
supported_discover_options = ("--client-software",
"--server-software",
"--membership-software")
for (o, a) in opts:
if o in supported_discover_options:
self.discover_options.append("%s=%s" % (o, a))
示例2: handleHeader
def handleHeader(self, lineno, args):
"""Process the arguments to the %packages header and set attributes
on the Version's Packages instance appropriate. This method may be
overridden in a subclass if necessary.
"""
Section.handleHeader(self, lineno, args)
op = self._getParser()
ns = op.parse_args(args=args[1:], lineno=lineno)
if ns.defaultPackages and ns.nobase:
raise KickstartParseError(formatErrorMsg(lineno, msg=_("--default and --nobase cannot be used together")), lineno=lineno)
elif ns.defaultPackages and ns.nocore:
raise KickstartParseError(formatErrorMsg(lineno, msg=_("--default and --nocore cannot be used together")), lineno=lineno)
self.handler.packages.excludeDocs = ns.excludedocs
self.handler.packages.addBase = not ns.nobase
if ns.ignoremissing:
self.handler.packages.handleMissing = KS_MISSING_IGNORE
else:
self.handler.packages.handleMissing = KS_MISSING_PROMPT
if ns.defaultPackages:
self.handler.packages.default = True
if ns.instLangs is not None:
self.handler.packages.instLangs = ns.instLangs
self.handler.packages.nocore = ns.nocore
self.handler.packages.multiLib = ns.multiLib
self.handler.packages.excludeWeakdeps = ns.excludeWeakdeps
self.handler.packages.timeout = ns.timeout
self.handler.packages.retries = ns.retries
self.handler.packages.seen = True
示例3: parse
def parse(self, args):
(ns, extra) = self.op.parse_known_args(args=args, lineno=self.lineno)
data = self.dataClass() # pylint: disable=not-callable
self.set_to_obj(ns, data)
data.lineno = self.lineno
if not data.format:
data.preexist = True
elif data.preexist:
data.format = False
if not extra:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("btrfs must be given a mountpoint")), lineno=self.lineno)
elif any(arg for arg in extra if arg.startswith("-")):
mapping = {"command": "btrfs", "options": extra}
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Unexpected arguments to %(command)s command: %(options)s") % mapping), lineno=self.lineno)
data.mountpoint = extra[0]
data.devices = extra[1:]
if not any([data.devices, data.subvol]):
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("btrfs must be given a list of partitions")), lineno=self.lineno)
elif not data.devices:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("btrfs subvol requires specification of parent volume")), lineno=self.lineno)
if data.subvol and not data.name:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("btrfs subvolume requires a name")), lineno=self.lineno)
# Check for duplicates in the data list.
if data in self.dataList():
warnings.warn(_("A btrfs volume with the mountpoint %s has already been defined.") % data.label)
return data
示例4: parse
def parse(self, args):
ns = self.op.parse_args(args=args, lineno=self.lineno)
self.set_to_self(ns)
# just "timezone" without any arguments and timezone specification doesn't really make sense,
# so throw an error when we see it (it might even be an indication of an incorrect machine generated kickstart)
if not args:
error_message = _("At least one option and/or an argument are expected for the %s command") % "timezone"
raise KickstartParseError(formatErrorMsg(self.lineno, msg=error_message))
# To be able to support the timezone command being used without
# a timezone specification:
# - we don't call the parse() method of the ancestors
# -> due to the FC3 parse() method that would be eventually called,
# which throws an exception if no timezone specification is provided
# - we implement the relevant functionality of the ancestor methods here
if len(ns.timezone) == 1:
self.timezone = ns.timezone[0]
elif len(ns.timezone) > 1:
error_message = _("One or zero arguments are expected for the %s command") % "timezone"
raise KickstartParseError(formatErrorMsg(self.lineno, msg=error_message))
if self.ntpservers and self.nontp:
msg = formatErrorMsg(self.lineno, msg=_("Options --nontp and --ntpservers are mutually exclusive"))
raise KickstartParseError(msg)
return self
示例5: parse
def parse(self, args):
(ns, extra) = self.op.parse_known_args(args=args, lineno=self.lineno)
if len(extra) > 1:
raise KickstartParseError(
formatErrorMsg(self.lineno, msg=_("Only one partition may be specified for driverdisk command."))
)
elif any(arg for arg in extra if arg.startswith("-")):
mapping = {"command": "driverdisk", "options": extra}
raise KickstartParseError(
formatErrorMsg(self.lineno, msg=_("Unexpected arguments to %(command)s command: %(options)s") % mapping)
)
if len(extra) == 1 and ns.source:
raise KickstartParseError(
formatErrorMsg(
self.lineno, msg=_("Only one of --source and partition may be specified for driverdisk command.")
)
)
if not extra and not ns.source:
raise KickstartParseError(
formatErrorMsg(
self.lineno, msg=_("One of --source or partition must be specified for driverdisk command.")
)
)
ddd = self.handler.DriverDiskData()
self.set_to_obj(ns, ddd)
ddd.lineno = self.lineno
if len(extra) == 1:
ddd.partition = extra[0]
return ddd
示例6: handle_header
def handle_header(self, lineno, args):
op = KSOptionParser()
op.add_option("--enable", "-e", action="store_true", default=False,
dest="state", help="Enable Cloud Support")
op.add_option("--disable", "-d", action="store_false",
dest="state", help="(Default) Disable Cloud Support")
op.add_option("--allinone", "-a", action="store_true", default=False,
dest="mode", help="Specify the mode of Packstack Installation")
op.add_option("--answer-file", "-f", action="store", type="string",
dest="file", help="Specify URL of answers file")
(options, extra) = op.parse_args(args=args, lineno=lineno)
# Error Handling
if str(options.state) == "True":
self.state = str(options.state)
if options.file and options.mode:
msg = "options --allinone and --answer-file are mutually exclusive"
raise KickstartParseError(msg)
elif options.file:
try:
response = urllib2.urlopen(options.file)
for line in response:
self.lines += line
except urllib2.HTTPError, e:
msg = "Kickstart Error:: HTTPError: " + str(e.code)
raise KickstartParseError, formatErrorMsg(lineno, msg=msg)
except urllib2.URLError, e:
msg = "Kickstart Error: HTTPError: " + str(e.reason)
raise KickstartParseError, formatErrorMsg(lineno, msg=msg)
except:
示例7: parse
def parse(self, args):
(ns, extra) = self.op.parse_known_args(args=args, lineno=self.lineno)
if not ns.format:
ns.preexist = True
vg = self.handler.VolGroupData()
self.set_to_obj(ns, vg)
vg.lineno = self.lineno
if len(extra) == 0:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("volgroup must be given a VG name")))
elif any(arg for arg in extra if arg.startswith("-")):
mapping = {"command": "volgroup", "options": extra}
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Unexpected arguments to %(command)s command: %(options)s") % mapping))
if len(extra) == 1 and not ns.preexist:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("volgroup must be given a list of partitions")))
elif len(extra) > 1 and ns.preexist:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Members may not be specified for preexisting volgroup")))
vg.vgname = extra[0]
if len(extra) > 1:
vg.physvols = extra[1:]
# Check for duplicates in the data list.
if vg in self.dataList():
warnings.warn(_("A volgroup with the name %s has already been defined.") % vg.vgname)
return vg
示例8: parse
def parse(self, args):
(opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
data = self.handler.BTRFSData()
self._setToObj(self.op, opts, data)
data.lineno = self.lineno
if len(extra) == 0:
raise KickstartValueError(formatErrorMsg(self.lineno, msg=_("btrfs must be given a mountpoint")))
if len(extra) == 1 and not data.subvol:
raise KickstartValueError(formatErrorMsg(self.lineno, msg=_("btrfs must be given a list of partitions")))
elif len(extra) == 1:
raise KickstartValueError(formatErrorMsg(self.lineno, msg=_("btrfs subvol requires specification of parent volume")))
if data.subvol and not data.name:
raise KickstartValueError(formatErrorMsg(self.lineno, msg=_("btrfs subvolume requires a name")))
data.mountpoint = extra[0]
data.devices = extra[1:]
# Check for duplicates in the data list.
if data in self.dataList():
warnings.warn(_("A btrfs volume with the mountpoint %s has already been defined.") % data.label)
return data
示例9: parse
def parse(self, args):
(opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
vg = self.handler.VolGroupData()
self._setToObj(self.op, opts, vg)
vg.lineno = self.lineno
if len(extra) == 0:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("volgroup must be given a VG name")))
if len(extra) == 1 and not opts.preexist:
raise KickstartValueError(formatErrorMsg(self.lineno, msg=_("volgroup must be given a list of partitions")))
elif len(extra) > 1 and opts.preexist:
raise KickstartValueError(
formatErrorMsg(self.lineno, msg=_("Members may not be specified for preexisting volgroup"))
)
vg.vgname = extra[0]
if len(extra) > 1:
vg.physvols = extra[1:]
# Check for duplicates in the data list.
if vg in self.dataList():
warnings.warn(_("A volgroup with the name %s has already been defined.") % vg.vgname)
return vg
示例10: _stateMachine
def _stateMachine(self, lineIter):
# For error reporting.
lineno = 0
while True:
# Get the next line out of the file, quitting if this is the last line.
try:
self._line = next(lineIter)
if self._line == "":
break
except StopIteration:
break
lineno += 1
# Eliminate blank lines, whitespace-only lines, and comments.
if self._isBlankOrComment(self._line):
self._handleSpecialComments(self._line)
continue
# Split the line, discarding comments.
args = shlex.split(self._line, comments=True)
if args[0] == "%include":
if len(args) == 1 or not args[1]:
raise KickstartParseError(formatErrorMsg(lineno))
self._handleInclude(args[1])
continue
# Now on to the main event.
if self._state == STATE_COMMANDS:
if args[0] == "%ksappend":
# This is handled by the preprocess* functions, so continue.
continue
elif args[0][0] == '%':
# This is the beginning of a new section. Handle its header
# here.
newSection = args[0]
if not self._validState(newSection):
raise KickstartParseError(formatErrorMsg(lineno, msg=_("Unknown kickstart section: %s") % newSection))
self._state = newSection
obj = self._sections[self._state]
self._tryFunc(lambda: obj.handleHeader(lineno, args))
# This will handle all section processing, kicking us back
# out to STATE_COMMANDS at the end with the current line
# being the next section header, etc.
lineno = self._readSection(lineIter, lineno)
else:
# This is a command in the command section. Dispatch to it.
self._tryFunc(lambda: self.handleCommand(lineno, args))
elif self._state == STATE_END:
break
elif self._includeDepth > 0:
lineIter.put(self._line)
lineno -= 1
lineno = self._readSection(lineIter, lineno)
示例11: _preprocessStateMachine
def _preprocessStateMachine (lineIter):
l = None
lineno = 0
# Now open an output kickstart file that we are going to write to one
# line at a time.
(outF, outName) = tempfile.mkstemp("-ks.cfg", "", "/tmp")
while True:
try:
l = next(lineIter)
except StopIteration:
break
# At the end of the file?
if l == "":
break
lineno += 1
url = None
ll = l.strip()
if not ll.startswith("%ksappend"):
os.write(outF, l)
continue
# Try to pull down the remote file.
try:
ksurl = ll.split(' ')[1]
except:
raise KickstartParseError(formatErrorMsg(lineno, msg=_("Illegal url for %%ksappend: %s") % ll))
try:
if '://' in ksurl:
url = urlopen(ksurl)
else:
url = open(ksurl, 'r')
except (URLError, IOError) as e:
raise KickstartError(formatErrorMsg(lineno, msg=_("Unable to open %%ksappend file: %s") % str(e)))
else:
# Sanity check result. Sometimes FTP doesn't catch a file
# is missing.
try:
if url.size < 1:
raise KickstartError(formatErrorMsg(lineno, msg=_("Unable to open %%ksappend file")))
except:
raise KickstartError(formatErrorMsg(lineno, msg=_("Unable to open %%ksappend file")))
# If that worked, write the remote file to the output kickstart
# file in one burst. Then close everything up to get ready to
# read ahead in the input file. This allows multiple %ksappend
# lines to exist.
if url is not None:
os.write(outF, url.read())
url.close()
# All done - close the temp file and return its location.
os.close(outF)
return outName
示例12: parse
def parse(self, args):
# the 'mount' command can't be used together with any other
# partitioning-related command
conflicting_command = None
# seen indicates that the corresponding
# command has been seen in kickstart
if self.handler.autopart.seen:
conflicting_command = "autopart"
if self.handler.partition.seen:
conflicting_command = "part/partition"
elif self.handler.raid.seen:
conflicting_command = "raid"
elif self.handler.volgroup.seen:
conflicting_command = "volgroup"
elif self.handler.logvol.seen:
conflicting_command = "logvol"
elif hasattr(self.handler, "reqpart") and self.handler.reqpart.seen:
conflicting_command = "reqpart"
if conflicting_command:
# allow for translation of the error message
errorMsg = _("The '%s' and 'mount' commands can't be used at the same time") % \
conflicting_command
raise KickstartParseError(formatErrorMsg(self.lineno, msg=errorMsg), lineno=self.lineno)
(ns, extra) = self.op.parse_known_args(args=args, lineno=self.lineno)
if extra:
mapping = {"command": "mount", "options": extra}
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Unexpected arguments to %(command)s command: %(options)s") % mapping), lineno=self.lineno)
md = self.dataClass() # pylint: disable=not-callable
self.set_to_obj(ns, md)
md.lineno = self.lineno
md.device = ns.device[0]
md.mount_point = ns.mntpoint[0]
if md.mount_point.lower() != "none" and not md.mount_point.startswith("/"):
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Invalid mount point '%s' given") % md.mount_point), lineno=self.lineno)
if md.reformat is False and md.mkfs_opts:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("'--mkfsoptions' requires --reformat")), lineno=self.lineno)
# The semantics is as follows:
# --reformat -> just reformat with the same format as existing
# --reformat=SOME_FMT -> reformat to given format
# no '--reformat' -> don't reformat
#
# md.reformat can either be 'False' (not specified), 'True' (just
# '--reformat') or a non-empty string ('--reformat=FORMAT'). Only the
# last case requires special treatment.
if md.reformat and md.reformat is not True:
# a new format given
md.format = md.reformat
md.reformat = True
return md
示例13: parse
def parse(self, args):
retval = F14_Partition.parse(self, args)
if retval.resize and not retval.onPart:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("--resize can only be used in conjunction with --onpart")))
if retval.resize and not retval.size:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("--resize requires --size to specify new size")))
return retval
示例14: parse
def parse(self, args):
retval = F15_LogVol.parse(self, args)
if retval.resize and not retval.preexist:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("--resize can only be used in conjunction with --useexisting")))
if retval.resize and not retval.size:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("--resize requires --size to indicate new size")))
return retval
示例15: parse
def parse(self, args):
retval = F14_Url.parse(self, args)
if self.url and self.mirrorlist:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("Only one of --url and --mirrorlist may be specified for url command.")))
if not self.url and not self.mirrorlist:
raise KickstartParseError(formatErrorMsg(self.lineno, msg=_("One of --url or --mirrorlist must be specified for url command.")))
return retval