From 9d54c7b3b2b08ebb0c21970ce344e47f6fabc9bd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Mar 2011 17:39:29 -0600 Subject: [PATCH] ... --- src/calibre/customize/__init__.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/customize/__init__.py b/src/calibre/customize/__init__.py index faa6fcada2..891e0e0772 100644 --- a/src/calibre/customize/__init__.py +++ b/src/calibre/customize/__init__.py @@ -529,9 +529,13 @@ class InterfaceActionBase(Plugin): # {{{ ''' This method must return the actual interface action plugin object. ''' - mod, cls = self.actual_plugin.split(':') - return getattr(importlib.import_module(mod), cls)(gui, - self.site_customization) + ac = getattr(self, 'actual_plugin_', None) + if ac is None: + mod, cls = self.actual_plugin.split(':') + ac = getattr(importlib.import_module(mod), cls)(gui, + self.site_customization) + self.actual_plugin_ = ac + return ac # }}}