From 3ab2f07a7da41016e6331f572a8885cfdd006a59 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 25 Nov 2013 12:49:10 +0530 Subject: [PATCH] Fix plugins that use the polish infrastructure causing circular imports when start tweak book --- src/calibre/gui2/tweak_book/main.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/tweak_book/main.py b/src/calibre/gui2/tweak_book/main.py index d414152c21..2a50e99fe1 100644 --- a/src/calibre/gui2/tweak_book/main.py +++ b/src/calibre/gui2/tweak_book/main.py @@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import, __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' -import sys, os +import sys, os, importlib from PyQt4.Qt import QIcon @@ -14,7 +14,6 @@ from calibre.constants import islinux from calibre.gui2 import Application, ORG_NAME, APP_UID, setup_gui_option_parser, detach_gui from calibre.ptempfile import reset_base_dir from calibre.utils.config import OptionParser -from calibre.gui2.tweak_book.ui import Main def option_parser(): parser = OptionParser('''\ @@ -31,6 +30,12 @@ def main(args=sys.argv): os.environ.pop('CALIBRE_WORKER_TEMP_DIR', None) reset_base_dir() + # The following two lines are needed to prevent circular imports causing + # errors during initialization of plugins that use the polish container + # infrastructure. + importlib.import_module('calibre.customize.ui') + from calibre.gui2.tweak_book.ui import Main + parser = option_parser() opts, args = parser.parse_args(args) if getattr(opts, 'detach', False):