#!/usr/bin/python # vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=python:tw=0 ############################################################################# # # Copyright (c) 2005 Dell Computer Corporation # Dual Licenced under GNU GPL and OSL # ############################################################################# """dumpCmos""" from __future__ import generators, division # import arranged alphabetically import gettext import locale import os import sys import traceback # the following vars are all substituted on install # this bin isnt byte-compiled, so this is ok __VERSION__="uninstalled-version" pythondir=os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "..", "python") clidir=os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "..", "py-cli") # end vars # import all local modules after this. sys.path.insert(0,pythondir) sys.path.insert(0,clidir) import cli from libsmbios_c import token, smbios, smi, system_info as sysinfo, localedir, GETTEXT_PACKAGE from libsmbios_c.trace_decorator import decorate, traceLog, getLog locale.setlocale(locale.LC_ALL, '') gettext.install(GETTEXT_PACKAGE, localedir, unicode=1) moduleLog = getLog() verboseLog = getLog(prefix="verbose.") class CmdlineError(Exception): pass def command_parse(): parser = cli.OptionParser(usage=__doc__, version=__VERSION__) cli.addStdOptions(parser, passwordOpts=True, securityKeyOpt=False) return parser.parse_args() def main(): exit_code = 0 (options, args) = command_parse() cli.setup_std_options(options) try: pass # put code here except (smi.SMIExecutionError, ), e: exit_code=3 moduleLog.info( _("ERROR: Could not execute SMI.") ) verboseLog.info( _("The smi library returned this error:") ) verboseLog.info( str(e) ) moduleLog.info( cli.standardFailMessage ) except (smbios.TableParseError, token.TokenTableParseError), e: exit_code=3 moduleLog.info( _("ERROR: Could not parse system SMBIOS table.") ) verboseLog.info( _("The smbios library returned this error:") ) verboseLog.info( str(e) ) moduleLog.info( cli.standardFailMessage ) except (token.TokenManipulationFailure,), e: exit_code=4 moduleLog.info( _("ERROR: Could not manipulate system token.") ) verboseLog.info( _("The token library returned this error:") ) verboseLog.info( str(e) ) moduleLog.info( cli.standardFailMessage ) return exit_code if __name__ == "__main__": sys.exit( main() )