From 60bbc8d0021dbd1a935f9268ec5dc78bf485226f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 21 Apr 2011 10:05:22 -0600 Subject: [PATCH] Remove user plugins with name conflicts automatically --- src/calibre/customize/ui.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index e1b68feace..d3ecab7f16 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -514,9 +514,11 @@ def initialize_plugin(plugin, path_to_zip_file): def initialize_plugins(): global _initialized_plugins _initialized_plugins = [] - user_plugins = [p for name, p in config['plugins'].iteritems() if name not - in builtin_names] - for zfp in user_plugins + builtin_plugins: + conflicts = [name for name in config['plugins'] if name in + builtin_names] + for p in conflicts: + remove_plugin(p) + for zfp in list(config['plugins'].itervalues()) + builtin_plugins: try: try: plugin = load_plugin(zfp) if not isinstance(zfp, type) else zfp