[PATCH] Don't use relative imports

David Shea dshea at redhat.com
Wed Sep 25 20:48:00 UTC 2013


---
 pyanaconda/anaconda.py                   |  8 ++++----
 pyanaconda/anaconda_log.py               |  2 +-
 pyanaconda/anaconda_optparse.py          |  2 +-
 pyanaconda/constants.py                  |  2 +-
 pyanaconda/exception.py                  |  6 +++---
 pyanaconda/flags.py                      |  2 +-
 pyanaconda/geoloc.py                     |  2 +-
 pyanaconda/image.py                      |  6 +++---
 pyanaconda/installclass.py               |  2 +-
 pyanaconda/iutil.py                      |  8 ++++----
 pyanaconda/kickstart.py                  | 12 ++++++------
 pyanaconda/network.py                    |  4 ++--
 pyanaconda/packaging/livepayload.py      |  2 +-
 pyanaconda/queue.py                      |  2 +-
 pyanaconda/rescue.py                     | 16 ++++++++--------
 pyanaconda/simpleconfig.py               |  2 +-
 pyanaconda/text.py                       |  2 +-
 pyanaconda/ui/__init__.py                |  2 +-
 pyanaconda/ui/gui/__init__.py            | 10 +++++-----
 pyanaconda/ui/tui/__init__.py            |  8 ++++----
 pyanaconda/ui/tui/hubs/__init__.py       |  2 +-
 pyanaconda/ui/tui/simpleline/__init__.py |  4 ++--
 pyanaconda/ui/tui/simpleline/widgets.py  |  2 +-
 pyanaconda/ui/tui/tuiobject.py           |  2 +-
 pyanaconda/users.py                      |  2 +-
 pyanaconda/vnc.py                        |  6 +++---
 tests/pylint/runpylint.sh                |  3 +--
 27 files changed, 60 insertions(+), 61 deletions(-)

diff --git a/pyanaconda/anaconda.py b/pyanaconda/anaconda.py
index 9a5aecc..759f6d4 100644
--- a/pyanaconda/anaconda.py
+++ b/pyanaconda/anaconda.py
@@ -30,7 +30,7 @@
 
 import os
 import sys
-from constants import ROOT_PATH
+from pyanaconda.constants import ROOT_PATH
 from tempfile import mkstemp
 
 from pyanaconda.bootloader import get_bootloader
@@ -43,7 +43,7 @@ stdoutLog = logging.getLogger("anaconda.stdout")
 
 class Anaconda(object):
     def __init__(self):
-        import desktop
+        import pyanaconda.desktop as desktop
 
         self._bootloader = None
         self.canReIPL = False
@@ -86,7 +86,7 @@ class Anaconda(object):
     @property
     def instClass(self):
         if not self._instClass:
-            from installclass import DefaultInstall
+            from pyanaconda.installclass import DefaultInstall
             self._instClass = DefaultInstall()
 
         return self._instClass
@@ -111,7 +111,7 @@ class Anaconda(object):
             klass = self.instClass.getBackend()
 
             if not klass:
-                from flags import flags
+                from pyanaconda.flags import flags
 
                 if flags.livecdInstall:
                     from pyanaconda.packaging.livepayload import LiveImagePayload
diff --git a/pyanaconda/anaconda_log.py b/pyanaconda/anaconda_log.py
index e272167..c71181f 100644
--- a/pyanaconda/anaconda_log.py
+++ b/pyanaconda/anaconda_log.py
@@ -29,7 +29,7 @@ import sys
 import types
 import warnings
 
-from flags import flags
+from pyanaconda.flags import flags
 
 DEFAULT_TTY_LEVEL = logging.INFO
 ENTRY_FORMAT = "%(asctime)s,%(msecs)03d %(levelname)s %(name)s: %(message)s"
diff --git a/pyanaconda/anaconda_optparse.py b/pyanaconda/anaconda_optparse.py
index 0f123b8..1916b8a 100644
--- a/pyanaconda/anaconda_optparse.py
+++ b/pyanaconda/anaconda_optparse.py
@@ -19,7 +19,7 @@
 # Authors:
 #   Will Woods <wwoods at redhat.com>
 
-from flags import BootArgs
+from pyanaconda.flags import BootArgs
 from optparse import OptionParser, OptionConflictError
 
 class AnacondaOptionParser(OptionParser):
diff --git a/pyanaconda/constants.py b/pyanaconda/constants.py
index 1ae2313..f994a07 100644
--- a/pyanaconda/constants.py
+++ b/pyanaconda/constants.py
@@ -31,7 +31,7 @@ ADDON_PATHS = ["/usr/share/anaconda/addons"]
 from pykickstart.constants import *
 
 # common string needs to be easy to change
-import product
+import pyanaconda.product as product
 productName = product.productName
 productVersion = product.productVersion
 productArch = product.productArch
diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py
index 7c80ca7..2499ffe 100644
--- a/pyanaconda/exception.py
+++ b/pyanaconda/exception.py
@@ -24,14 +24,14 @@
 from meh import Config
 from meh.handler import ExceptionHandler
 from meh.dump import ReverseExceptionDump
-import isys
-import iutil
+import pyanaconda.isys as isys
+import pyanaconda.iutil as iutil
 import sys
 import os
 import shutil
 import signal
 import time
-import kickstart
+import pyanaconda.kickstart as kickstart
 import blivet.errors
 from pyanaconda.ui.communication import hubQ
 from pyanaconda.constants import ROOT_PATH, THREAD_EXCEPTION_HANDLING_TEST
diff --git a/pyanaconda/flags.py b/pyanaconda/flags.py
index 530a950..7489c0f 100644
--- a/pyanaconda/flags.py
+++ b/pyanaconda/flags.py
@@ -20,7 +20,7 @@
 import selinux
 import shlex
 import glob
-from constants import SELINUX_DEFAULT
+from pyanaconda.constants import SELINUX_DEFAULT
 from collections import OrderedDict
 
 import logging
diff --git a/pyanaconda/geoloc.py b/pyanaconda/geoloc.py
index b588bf7..e2bbb5d 100644
--- a/pyanaconda/geoloc.py
+++ b/pyanaconda/geoloc.py
@@ -106,7 +106,7 @@ import json
 import dbus
 import threading
 import time
-import network
+import pyanaconda.network as network
 
 import logging
 log = logging.getLogger("anaconda")
diff --git a/pyanaconda/image.py b/pyanaconda/image.py
index 82f3e4f..b7480c4 100644
--- a/pyanaconda/image.py
+++ b/pyanaconda/image.py
@@ -17,11 +17,11 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import isys
+import pyanaconda.isys as isys
 import os, os.path, stat, tempfile
-from constants import ISO_DIR
+from pyanaconda.constants import ISO_DIR
 
-from errors import errorHandler, ERROR_RAISE, InvalidImageSizeError, MediaMountError, MediaUnmountError, MissingImageError
+from pyanaconda.errors import errorHandler, ERROR_RAISE, InvalidImageSizeError, MediaMountError, MediaUnmountError, MissingImageError
 
 import blivet.util
 import blivet.arch
diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py
index 9d14b79..d7f0d74 100644
--- a/pyanaconda/installclass.py
+++ b/pyanaconda/installclass.py
@@ -32,7 +32,7 @@ from blivet.platform import platform
 import logging
 log = logging.getLogger("anaconda")
 
-from flags import flags
+from pyanaconda.flags import flags
 
 class BaseInstallClass(object):
     # default to not being hidden
diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py
index 733a6f3..ad09208 100644
--- a/pyanaconda/iutil.py
+++ b/pyanaconda/iutil.py
@@ -32,15 +32,15 @@ import types
 from threading import Thread
 from Queue import Queue, Empty
 
-from flags import flags
-from constants import DRACUT_SHUTDOWN_EJECT, ROOT_PATH, TRANSLATIONS_UPDATE_DIR, UNSUPPORTED_HW
-from regexes import PROXY_URL_PARSE
+from pyanaconda.flags import flags
+from pyanaconda.constants import DRACUT_SHUTDOWN_EJECT, ROOT_PATH, TRANSLATIONS_UPDATE_DIR, UNSUPPORTED_HW
+from pyanaconda.regexes import PROXY_URL_PARSE
 
 import logging
 log = logging.getLogger("anaconda")
 program_log = logging.getLogger("program")
 
-from anaconda_log import program_log_lock
+from pyanaconda.anaconda_log import program_log_lock
 
 def augmentEnv():
     env = os.environ.copy()
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 050cd59..31dbdc0 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -33,13 +33,13 @@ import blivet.zfcp
 import blivet.arch
 
 import glob
-import iutil
+import pyanaconda.iutil as iutil
 import os
 import os.path
 import tempfile
 import subprocess
-from flags import flags, can_touch_runtime_system
-from constants import ADDON_PATHS, ROOT_PATH
+from pyanaconda.flags import flags, can_touch_runtime_system
+from pyanaconda.constants import ADDON_PATHS, ROOT_PATH
 import shlex
 import sys
 import urlgrabber
@@ -55,8 +55,8 @@ from pyanaconda.simpleconfig import SimpleConfigFile
 from pyanaconda.users import getPassAlgo
 from pyanaconda.desktop import Desktop
 from pyanaconda.i18n import _
-from .ui.common import collect
-from .addons import AddonSection, AddonData, AddonRegistry, collect_addon_paths
+from pyanaconda.ui.common import collect
+from pyanaconda.addons import AddonSection, AddonData, AddonRegistry, collect_addon_paths
 
 from pykickstart.constants import CLEARPART_TYPE_NONE, FIRSTBOOT_SKIP, FIRSTBOOT_RECONFIG, KS_SCRIPT_POST, KS_SCRIPT_PRE, \
                                   KS_SCRIPT_TRACEBACK, SELINUX_DISABLED, SELINUX_ENFORCING, SELINUX_PERMISSIVE
@@ -71,7 +71,7 @@ log = logging.getLogger("anaconda")
 stderrLog = logging.getLogger("anaconda.stderr")
 storage_log = logging.getLogger("blivet")
 stdoutLog = logging.getLogger("anaconda.stdout")
-from anaconda_log import logger, logLevelMap, setHandlersLevel,\
+from pyanaconda.anaconda_log import logger, logLevelMap, setHandlersLevel,\
     DEFAULT_TTY_LEVEL
 
 class AnacondaKSScript(KSScript):
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index f56e581..63efe23 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -26,7 +26,7 @@
 
 import string
 import shutil
-import iutil
+import pyanaconda.iutil as iutil
 import socket
 import os
 import time
@@ -36,7 +36,7 @@ import dbus
 import IPy
 import itertools
 
-from simpleconfig import SimpleConfigFile
+from pyanaconda.simpleconfig import SimpleConfigFile
 from blivet.devices import FcoeDiskDevice, iScsiDiskDevice
 import blivet.arch
 
diff --git a/pyanaconda/packaging/livepayload.py b/pyanaconda/packaging/livepayload.py
index 2cf2440..6964c95 100644
--- a/pyanaconda/packaging/livepayload.py
+++ b/pyanaconda/packaging/livepayload.py
@@ -40,7 +40,7 @@ import urllib
 import hashlib
 import glob
 
-from . import ImagePayload, PayloadSetupError, PayloadInstallError
+from pyanaconda.packaging import ImagePayload, PayloadSetupError, PayloadInstallError
 
 from pyanaconda.constants import INSTALL_TREE, ROOT_PATH, THREAD_LIVE_PROGRESS
 from pyanaconda.constants import IMAGE_DIR
diff --git a/pyanaconda/queue.py b/pyanaconda/queue.py
index 22ea5de..31f6a54 100644
--- a/pyanaconda/queue.py
+++ b/pyanaconda/queue.py
@@ -19,7 +19,7 @@
 # Author(s): Chris Lumens <clumens at redhat.com>
 
 import Queue
-from iutil import lowerASCII, upperASCII
+from pyanaconda.iutil import lowerASCII, upperASCII
 
 class QueueFactory(object):
     """Constructs a new object wrapping a Queue.Queue, complete with constants
diff --git a/pyanaconda/rescue.py b/pyanaconda/rescue.py
index eca9d38..0c12be7 100644
--- a/pyanaconda/rescue.py
+++ b/pyanaconda/rescue.py
@@ -21,7 +21,7 @@
 #
 import sys
 import os
-import iutil
+import pyanaconda.iutil as iutil
 import shutil
 import time
 import re
@@ -29,13 +29,13 @@ import subprocess
 
 from snack import ButtonChoiceWindow, ListboxChoiceWindow,SnackScreen
 
-from constants import ANACONDA_CLEANUP, ROOT_PATH
-from constants_text import TEXT_OK_BUTTON, TEXT_NO_BUTTON, TEXT_YES_BUTTON
-from text import WaitWindow, OkCancelWindow, ProgressWindow, PassphraseEntryWindow
-from flags import flags
-from installinterfacebase import InstallInterfaceBase
-from i18n import _
-from kickstart import runPostScripts
+from pyanaconda.constants import ANACONDA_CLEANUP, ROOT_PATH
+from pyanaconda.constants_text import TEXT_OK_BUTTON, TEXT_NO_BUTTON, TEXT_YES_BUTTON
+from pyanaconda.text import WaitWindow, OkCancelWindow, ProgressWindow, PassphraseEntryWindow
+from pyanaconda.flags import flags
+from pyanaconda.installinterfacebase import InstallInterfaceBase
+from pyanaconda.i18n import _
+from pyanaconda.kickstart import runPostScripts
 
 from blivet import mountExistingSystem
 from blivet.errors import StorageError
diff --git a/pyanaconda/simpleconfig.py b/pyanaconda/simpleconfig.py
index 53ed2d2..3d017b6 100644
--- a/pyanaconda/simpleconfig.py
+++ b/pyanaconda/simpleconfig.py
@@ -20,7 +20,7 @@ import shutil
 import shlex
 from pipes import _safechars
 import tempfile
-from iutil import upperASCII
+from pyanaconda.iutil import upperASCII
 
 def unquote(s):
     return ' '.join(shlex.split(s))
diff --git a/pyanaconda/text.py b/pyanaconda/text.py
index 3f76925..a049c30 100644
--- a/pyanaconda/text.py
+++ b/pyanaconda/text.py
@@ -20,7 +20,7 @@
 #
 
 from snack import ButtonBar, ButtonChoiceWindow, Entry, GridForm, Scale, TextboxReflowed
-from constants_text import TEXT_OK_BUTTON, TEXT_CANCEL_BUTTON, TEXT_OK_CHECK
+from pyanaconda.constants_text import TEXT_OK_BUTTON, TEXT_CANCEL_BUTTON, TEXT_OK_CHECK
 from pyanaconda.i18n import _
 
 class WaitWindow:
diff --git a/pyanaconda/ui/__init__.py b/pyanaconda/ui/__init__.py
index c60698d..44f27e6 100644
--- a/pyanaconda/ui/__init__.py
+++ b/pyanaconda/ui/__init__.py
@@ -22,7 +22,7 @@
 __all__ = ["UserInterface"]
 
 import os
-from .common import collect, PathDict
+from pyanaconda.ui.common import collect, PathDict
 
 class UserInterface(object):
     """This is the base class for all kinds of install UIs.  It primarily
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index 7976b29..30b595f 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -530,13 +530,13 @@ class GraphicalUserInterface(UserInterface):
 
     def _list_hubs(self):
         """Return a list of Hub classes to be imported to this interface"""
-        from .hubs.summary import SummaryHub
-        from .hubs.progress import ProgressHub
+        from pyanaconda.ui.gui.hubs.summary import SummaryHub
+        from pyanaconda.ui.gui.hubs.progress import ProgressHub
         return [SummaryHub, ProgressHub]
 
     def _is_standalone(self, obj):
         """Is the spoke passed as obj standalone?"""
-        from .spokes import StandaloneSpoke
+        from pyanaconda.ui.gui.spokes import StandaloneSpoke
         return isinstance(obj, StandaloneSpoke)
 
     def setup(self, data):
@@ -549,7 +549,7 @@ class GraphicalUserInterface(UserInterface):
         """Grab all relevant standalone spokes, add them to the passed
            list of hubs and order the list according to the
            relationships between hubs and standalones."""
-        from .spokes import StandaloneSpoke
+        from pyanaconda.ui.gui.spokes import StandaloneSpoke
 
         # First, grab a list of all the standalone spokes.
         standalones = self._collectActionClasses(self.paths["spokes"], StandaloneSpoke)
@@ -571,7 +571,7 @@ class GraphicalUserInterface(UserInterface):
             window.main_window.set_transient_for(lightbox)
 
     def _instantiateAction(self, actionClass):
-        from spokes import StandaloneSpoke
+        from pyanaconda.ui.gui.spokes import StandaloneSpoke
 
         # Instantiate an action on-demand, passing the arguments defining our
         # spoke API and setting up continue/quit signal handlers.
diff --git a/pyanaconda/ui/tui/__init__.py b/pyanaconda/ui/tui/__init__.py
index 3114bde..5aedd85 100644
--- a/pyanaconda/ui/tui/__init__.py
+++ b/pyanaconda/ui/tui/__init__.py
@@ -25,10 +25,10 @@ from pyanaconda.ui import common
 from pyanaconda.ui.communication import hubQ
 from pyanaconda.flags import flags
 from pyanaconda.threads import threadMgr
-import simpleline as tui
-from hubs.summary import SummaryHub
-from spokes import StandaloneSpoke
-from tuiobject import YesNoDialog, ErrorDialog
+import pyanaconda.ui.tui.simpleline as tui
+from pyanaconda.ui.tui.hubs.summary import SummaryHub
+from pyanaconda.ui.tui.spokes import StandaloneSpoke
+from pyanaconda.ui.tui.tuiobject import YesNoDialog, ErrorDialog
 
 import os
 import sys
diff --git a/pyanaconda/ui/tui/hubs/__init__.py b/pyanaconda/ui/tui/hubs/__init__.py
index 8f219c3..8d2d79d 100644
--- a/pyanaconda/ui/tui/hubs/__init__.py
+++ b/pyanaconda/ui/tui/hubs/__init__.py
@@ -18,7 +18,7 @@
 #
 # Red Hat Author(s): Martin Sivak <msivak at redhat.com>
 #
-from .. import simpleline as tui
+from pyanaconda.ui.tui import simpleline as tui
 from pyanaconda.ui.tui.tuiobject import TUIObject
 from pyanaconda.ui.tui.spokes import collect_spokes
 from pyanaconda.ui import common
diff --git a/pyanaconda/ui/tui/simpleline/__init__.py b/pyanaconda/ui/tui/simpleline/__init__.py
index 91518c2..2c715e2 100644
--- a/pyanaconda/ui/tui/simpleline/__init__.py
+++ b/pyanaconda/ui/tui/simpleline/__init__.py
@@ -20,6 +20,6 @@
 #
 
 # pylint: disable-msg=W0401
-from base import *
+from pyanaconda.ui.tui.simpleline.base import *
 # pylint: disable-msg=W0401
-from widgets import *
+from pyanaconda.ui.tui.simpleline.widgets import *
diff --git a/pyanaconda/ui/tui/simpleline/widgets.py b/pyanaconda/ui/tui/simpleline/widgets.py
index d6ef5c6..591db3c 100644
--- a/pyanaconda/ui/tui/simpleline/widgets.py
+++ b/pyanaconda/ui/tui/simpleline/widgets.py
@@ -23,7 +23,7 @@
 
 __all__ = ["TextWidget", "ColumnWidget", "CheckboxWidget", "CenterWidget"]
 
-import base
+import pyanaconda.ui.tui.simpleline.base as base
 
 class TextWidget(base.Widget):
     """Class to handle wrapped text output."""
diff --git a/pyanaconda/ui/tui/tuiobject.py b/pyanaconda/ui/tui/tuiobject.py
index dc4e4fc..a6f06b9 100644
--- a/pyanaconda/ui/tui/tuiobject.py
+++ b/pyanaconda/ui/tui/tuiobject.py
@@ -21,7 +21,7 @@
 
 from pyanaconda.i18n import _
 from pyanaconda.ui import common
-import simpleline as tui
+import pyanaconda.ui.tui.simpleline as tui
 from pyanaconda.constants_text import INPUT_PROCESSED
 
 class ErrorDialog(tui.UIScreen):
diff --git a/pyanaconda/users.py b/pyanaconda/users.py
index e831122..20c5cc0 100644
--- a/pyanaconda/users.py
+++ b/pyanaconda/users.py
@@ -26,7 +26,7 @@ import random
 import tempfile
 import os
 import os.path
-import iutil
+import pyanaconda.iutil as iutil
 import pwquality
 from pyanaconda.iutil import strip_accents
 from pyanaconda.i18n import _
diff --git a/pyanaconda/vnc.py b/pyanaconda/vnc.py
index 2dbc9b8..fc7d352 100644
--- a/pyanaconda/vnc.py
+++ b/pyanaconda/vnc.py
@@ -21,11 +21,11 @@
 
 import os, sys
 import time
-import network
-import product
+import pyanaconda.network as network
+import pyanaconda.product as product
 import socket
 import subprocess
-import iutil
+import pyanaconda.iutil as iutil
 import dbus
 
 from pyanaconda.i18n import _, P_
diff --git a/tests/pylint/runpylint.sh b/tests/pylint/runpylint.sh
index af4183e..48c9f6c 100755
--- a/tests/pylint/runpylint.sh
+++ b/tests/pylint/runpylint.sh
@@ -35,13 +35,12 @@ DISABLED_ERR_OPTIONS="--disable=E1103"
 # W0141 - Used builtin function %r
 # W0142 - Used * or ** magic
 # W0223 - Method %r is abstract in class %r but is not overridden
-# W0403 - Relative import %r, should be %r
 # W0511 - Used when a warning note as FIXME or XXX is detected.
 # W0603 - Using the global statement
 # W0604 - Using the global statement at the module level
 # W0613 - Unused argument %r
 # W0614 - Unused import %s from wildcard import
-DISABLED_WARN_OPTIONS="--disable=W0110,W0141,W0142,W0223,W0403,W0511,W0603,W0604,W0613,W0614"
+DISABLED_WARN_OPTIONS="--disable=W0110,W0141,W0142,W0223,W0511,W0603,W0604,W0613,W0614"
 
 usage () {
   echo "usage: `basename $0` [--strict] [--help] [files...]"
-- 
1.8.3.1



More information about the anaconda-patches mailing list