[PATCH 15/16] Fix all the pylint warnings in the anaconda file.
Chris Lumens
clumens at redhat.com
Wed Aug 14 13:19:00 UTC 2013
This patch is a big mess and fixes a lot of problems in a lot of different
ways. At the same time, this file is a big mess to begin with. It seems
fitting.
---
anaconda | 145 ++++++++++++++++++++++++++++++---------------------------------
1 file changed, 68 insertions(+), 77 deletions(-)
diff --git a/anaconda b/anaconda
index c65610a..be0a5d8 100755
--- a/anaconda
+++ b/anaconda
@@ -31,15 +31,11 @@
# This toplevel file is a little messy at the moment... (2001-06-22)
# ...still messy (2013-07-12)
-import atexit, sys, os, re, time, subprocess
-from tempfile import mkstemp
+import atexit, sys, os, time, subprocess
# keep up with process ID of the window manager if we start it
wm_pid = None
def exitHandler(rebootData, storage, exitCode=None):
- from pyanaconda import isys
- from pyanaconda.flags import flags
-
if flags.usevnc:
vnc.shutdownServer()
@@ -58,14 +54,14 @@ def exitHandler(rebootData, storage, exitCode=None):
devicetree = anaconda.storage.devicetree
devicetree.teardownAll()
for name in devicetree.diskImages:
- device = devicetree.getDeviceByName(name)
+ dev = devicetree.getDeviceByName(name)
for loop in device.parents:
loop.controllable = True
- device.deactivate(recursive=True)
+ dev.deactivate(recursive=True)
if not flags.imageInstall and not flags.livecdInstall \
and not flags.dirInstall:
- from pykickstart.constants import KS_SHUTDOWN, KS_WAIT, KS_REBOOT
+ from pykickstart.constants import KS_SHUTDOWN, KS_WAIT
from pyanaconda.iutil import dracut_eject
if flags.eject or rebootData.eject:
@@ -95,9 +91,7 @@ def startMetacityWM():
# after this point the method should never return (or throw an exception
# outside)
try:
- args = ['--display', ':1',
- '--sm-disable']
- iutil.execWithRedirect('metacity', args)
+ iutil.execWithRedirect('metacity', ["--display", ":1", "--sm-disable"])
except BaseException as e:
# catch all possible exceptions
log.error("Problems running the window manager: %s" % str(e))
@@ -138,15 +132,15 @@ def set_x_resolution(runres):
log.info("Setting the screen resolution to: %s.", runres)
iutil.execWithRedirect("xrandr",
["-d", ":1", "-s", runres])
- except RuntimeError as e:
+ except RuntimeError:
log.error("The X resolution not set")
iutil.execWithRedirect("xrandr",
["-d", ":1", "-q"])
-def doExtraX11Actions(opts):
+def doExtraX11Actions(runres):
"""Perform X11 actions not related to startup"""
- set_x_resolution(opts.runres)
+ set_x_resolution(runres)
startSpiceVDAgent()
@@ -314,8 +308,8 @@ def parseOptions(argv=None, cmdline=None):
if "console" in cmdline:
op.set_defaults(display_mode="t")
- (opts, args) = op.parse_args(argv, cmdline=cmdline)
- return (opts, args, op.deprecated_bootargs)
+ (options, extraArgs) = op.parse_args(argv, cmdline=cmdline)
+ return (options, extraArgs, op.deprecated_bootargs)
def setupPythonPath():
# First add our updates path
@@ -344,16 +338,16 @@ def setupEnvironment():
if os.environ.has_key("LD_PRELOAD"):
del os.environ["LD_PRELOAD"]
-def setupLoggingFromOpts(opts):
- if opts.loglevel and anaconda_log.logLevelMap.has_key(opts.loglevel):
+def setupLoggingFromOpts(options):
+ if options.loglevel and anaconda_log.logLevelMap.has_key(options.loglevel):
level = anaconda_log.logLevelMap[opts.loglevel]
anaconda_log.logger.tty_loglevel = level
anaconda_log.setHandlersLevel(log, level)
storage_log = logging.getLogger("storage")
anaconda_log.setHandlersLevel(storage_log, level)
- if opts.syslog:
- anaconda_log.logger.updateRemote(opts.syslog)
+ if options.syslog:
+ anaconda_log.logger.updateRemote(options.syslog)
def gtk_warning(title, reason):
import gtk
@@ -364,7 +358,8 @@ def gtk_warning(title, reason):
dialog.run()
dialog.destroy()
-def check_memory(anaconda, opts, display_mode=None):
+# pylint: disable-msg=W0621
+def check_memory(anaconda, options, display_mode=None):
reason_strict = _("%s requires %s MB of memory to install, but you only have "
"%s MB on this machine.\n")
reason_graphical = _("The %s graphical installer requires %s MB of memory, but "
@@ -378,7 +373,7 @@ def check_memory(anaconda, opts, display_mode=None):
"terminal.")
nolivecd_extra = _(" Starting text mode.")
- if opts.rescue:
+ if options.rescue:
return
if not display_mode:
@@ -392,13 +387,13 @@ def check_memory(anaconda, opts, display_mode=None):
log.info("check_memory(): total:%s, needed:%s, graphical:%s" % \
(total_ram, needed_ram, graphical_ram))
- if not opts.memcheck:
+ if not options.memcheck:
log.warning("CHECK_MEMORY DISABLED")
return
if needed_ram > total_ram:
from snack import SnackScreen, ButtonChoiceWindow
- if opts.liveinst:
+ if options.liveinst:
stdoutLog.warning(reason % (product.productName, needed_ram, total_ram))
gtk_warning(livecd_title, reason % (product.productName, needed_ram, total_ram))
else:
@@ -416,7 +411,7 @@ def check_memory(anaconda, opts, display_mode=None):
reason = reason_graphical
if needed_ram > total_ram:
- if opts.liveinst:
+ if options.liveinst:
reason += livecd_extra
stdoutLog.warning(reason % (product.productName, needed_ram, total_ram))
title = livecd_title
@@ -429,39 +424,40 @@ def check_memory(anaconda, opts, display_mode=None):
time.sleep(2)
def startDebugger(signum, frame):
+ # pylint: disable-msg=F0401
import epdb
epdb.serve(skip=1)
-def setupDisplay(anaconda, opts, addon_paths=None):
+# pylint: disable-msg=W0621
+def setupDisplay(anaconda, options, addons=None):
from pyanaconda.ui.tui.simpleline import App
from pyanaconda.ui.tui.spokes.askvnc import AskVNCSpoke
from pykickstart.constants import DISPLAY_MODE_TEXT
from pyanaconda.nm import nm_is_connected, nm_is_connecting
from blivet import arch
- import blivet.util
graphical_failed = 0
vncS = vnc.VncServer() # The vnc Server object.
vncS.anaconda = anaconda
- anaconda.displayMode = opts.display_mode
- anaconda.isHeadless = opts.isHeadless or arch.isS390()
+ anaconda.displayMode = options.display_mode
+ anaconda.isHeadless = options.isHeadless or arch.isS390()
- if opts.vnc:
+ if options.vnc:
flags.usevnc = 1
anaconda.displayMode = 'g'
- vncS.password = opts.vncpassword
+ vncS.password = options.vncpassword
# Only consider vncconnect when vnc is a param
- if opts.vncconnect:
- cargs = string.split(opts.vncconnect, ":")
+ if options.vncconnect:
+ cargs = string.split(options.vncconnect, ":")
vncS.vncconnecthost = cargs[0]
if len(cargs) > 1 and len(cargs[1]) > 0:
if len(cargs[1]) > 0:
vncS.vncconnectport = cargs[1]
- if opts.xdriver:
- anaconda.xdriver = opts.xdriver
+ if options.xdriver:
+ anaconda.xdriver = options.xdriver
anaconda.writeXdriver(root="/")
if anaconda.rescue:
@@ -546,7 +542,7 @@ def setupDisplay(anaconda, opts, addon_paths=None):
vncS.password = anaconda.ksdata.vnc.password
log.info("Display mode = %s" % anaconda.displayMode)
- check_memory(anaconda, opts)
+ check_memory(anaconda, options)
if want_x:
# The following code depends on no SIGCHLD being delivered,
@@ -570,14 +566,14 @@ def setupDisplay(anaconda, opts, addon_paths=None):
old_sigchld = signal.signal(signal.SIGCHLD, sigchld_handler)
xout = open("/dev/tty5", "w")
try:
- proc = subprocess.Popen(["Xorg", "-br",
- "-logfile", "/tmp/X.log",
- ":1", "vt7", "-s", "1440", "-ac",
- "-nolisten", "tcp", "-dpi", "96",
- "-noreset"],
- close_fds=True,
- stdout=xout, stderr=xout,
- preexec_fn=preexec_fn)
+ subprocess.Popen(["Xorg", "-br",
+ "-logfile", "/tmp/X.log",
+ ":1", "vt7", "-s", "1440", "-ac",
+ "-nolisten", "tcp", "-dpi", "96",
+ "-noreset"],
+ close_fds=True,
+ stdout=xout, stderr=xout,
+ preexec_fn=preexec_fn)
signal.pause()
os.environ["DISPLAY"] = ":1"
@@ -592,7 +588,7 @@ def setupDisplay(anaconda, opts, addon_paths=None):
signal.signal(signal.SIGCHLD, old_sigchld)
if not graphical_failed:
- doExtraX11Actions(opts)
+ doExtraX11Actions(options.runres)
if anaconda.displayMode == 't' and graphical_failed and \
flags.vncquestion and not anaconda.ksdata.vnc.enabled:
@@ -612,18 +608,14 @@ def setupDisplay(anaconda, opts, addon_paths=None):
doStartupX11Actions()
# with X running we can initialize the UI interface
- anaconda.initInterface(addon_paths)
+ anaconda.initInterface(addons)
anaconda.instClass.configure(anaconda)
def prompt_for_ssh():
# Do some work here to get the ip addr / hostname to pass
# to the user.
- from pyanaconda import network
- from pyanaconda import isys
import socket
- import gettext
- _ = lambda x: gettext.ldgettext("anaconda", x)
ip = network.getFirstRealIP()
@@ -635,7 +627,7 @@ def prompt_for_ssh():
try:
hinfo = socket.gethostbyaddr(ipstr)
- except Exception as e:
+ except socket.herror as e:
stdoutLog.debug("Exception caught trying to get host name of %s: %s" %
(ipstr, e))
name = network.getHostname()
@@ -667,7 +659,7 @@ def cleanPStore():
# take effect immediately, which is the best case. Unfortunately on some,
# an intervening reboot is needed."""
try:
- for root, dirs, files in os.walk("/sys/fs/pstore"):
+ for root, _dirs, files in os.walk("/sys/fs/pstore"):
for f in files:
os.unlink("%s/%s" % (root,f))
except OSError:
@@ -678,6 +670,7 @@ if __name__ == "__main__":
# Allow a file to be loaded as early as possible
try:
+ # pylint: disable-msg=F0401,W0611
import updates_disk_hook
except ImportError:
pass
@@ -692,8 +685,11 @@ if __name__ == "__main__":
initThreading()
from pyanaconda.threads import threadMgr
+ import gettext
+ _ = lambda x: gettext.ldgettext("anaconda", x)
+
from pyanaconda import constants
- from pyanaconda import addons
+ from pyanaconda.addons import collect_addon_paths
from pyanaconda import geoloc
# do this early so we can set flags before initializing logging
@@ -748,12 +744,11 @@ if __name__ == "__main__":
# pull this in to get product name and versioning
from pyanaconda import product
- from pyanaconda.constants import ROOT_PATH, DEFAULT_LANG
from pyanaconda import isys
isys.initLog()
- import signal, string, time
+ import signal, string
from pyanaconda import iutil
from pyanaconda import vnc
@@ -768,9 +763,6 @@ if __name__ == "__main__":
else:
print "anaconda %s (pre-release) started." % verdesc
- import gettext
- _ = lambda x: gettext.ldgettext("anaconda", x)
-
from pyanaconda import Anaconda
anaconda = Anaconda()
iutil.setup_translations(gettext)
@@ -830,8 +822,7 @@ if __name__ == "__main__":
if opts.module:
for mod in opts.module:
- (path, name) = string.split(mod, ":")
- anaconda.extraModules.append((path, name))
+ anaconda.extraModules.append(mod.split(":"))
if opts.ibft:
flags.ibft = 1
@@ -863,7 +854,7 @@ if __name__ == "__main__":
try:
if os.path.exists("/mnt/runtime/etc/" + i):
os.symlink ("../mnt/runtime/etc/" + i, "/etc/" + i)
- except:
+ except OSError:
pass
if opts.debug:
@@ -878,7 +869,7 @@ if __name__ == "__main__":
os.system("udevadm control --env=ANACONDA=1")
# Collect all addon paths
- addon_paths = addons.collect_addon_paths(constants.ADDON_PATHS)
+ addon_paths = collect_addon_paths(constants.ADDON_PATHS)
# If we were given a kickstart file on the command line, parse (but do not
# execute) that now. Otherwise, load in defaults from kickstart files
@@ -887,17 +878,17 @@ if __name__ == "__main__":
if opts.ksfile:
flags.automatedInstall = True
flags.eject = False
- files = [opts.ksfile]
+ ksFiles = [opts.ksfile]
else:
- files = ["/tmp/updates/interactive-defaults.ks",
- "/usr/share/anaconda/interactive-defaults.ks"]
+ ksFiles = ["/tmp/updates/interactive-defaults.ks",
+ "/usr/share/anaconda/interactive-defaults.ks"]
- for f in files:
- if not os.path.exists(f):
+ for ks in ksFiles:
+ if not os.path.exists(ks):
continue
- kickstart.preScriptPass(f)
- ksdata = kickstart.parseKickstart(f)
+ kickstart.preScriptPass(ks)
+ ksdata = kickstart.parseKickstart(ks)
# Only load the first defaults file we find.
break
@@ -939,10 +930,10 @@ if __name__ == "__main__":
ksdata.method.method = "cdrom"
elif anaconda.methodstr.startswith("nfs"):
ksdata.method.method = "nfs"
- (options, server, path) = iutil.parseNfsUrl(anaconda.methodstr)
+ (nfsOptions, server, path) = iutil.parseNfsUrl(anaconda.methodstr)
ksdata.method.server = server
ksdata.method.dir = path
- ksdata.method.opts = options
+ ksdata.method.opts = nfsOptions
elif anaconda.methodstr.startswith("hd:"):
ksdata.method.method = "harddrive"
url = anaconda.methodstr.split(":", 1)[1]
@@ -997,15 +988,15 @@ if __name__ == "__main__":
image_spec = image.rsplit(":", 1)
path = image_spec[0]
if len(image_spec) == 2 and image_spec[1].strip():
- name = image_spec[1].strip()
+ imageName = image_spec[1].strip()
else:
- name = os.path.splitext(os.path.basename(path))[0]
+ imageName = os.path.splitext(os.path.basename(path))[0]
- if "/" in name or name in anaconda.storage.config.diskImages.keys():
- name = "diskimg%d" % image_count
+ if "/" in imageName or imageName in anaconda.storage.config.diskImages.keys():
+ imageName = "diskimg%d" % image_count
- log.info("naming disk image '%s' '%s'" % (path, name))
- anaconda.storage.config.diskImages[name] = path
+ log.info("naming disk image '%s' '%s'" % (path, imageName))
+ anaconda.storage.config.diskImages[imageName] = path
image_count += 1
flags.imageInstall = True
--
1.8.1.2
More information about the anaconda-patches
mailing list