minor edits to recent fix for addons
authorCampbell Barton <ideasman42@gmail.com>
Fri, 23 Sep 2011 13:47:29 +0000 (13:47 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 23 Sep 2011 13:47:29 +0000 (13:47 +0000)
release/scripts/modules/addon_utils.py
release/scripts/startup/bl_operators/wm.py
release/scripts/startup/bl_ui/__init__.py
release/scripts/startup/bl_ui/space_userpref.py

index 9d0f540b08b7e9cd98426041ec31c37067394ecd..ef9a4615ff2e92f577dbdf4934c8f9225ba65f1c 100644 (file)
@@ -33,11 +33,7 @@ import bpy as _bpy
 
 error_duplicates = False
 error_encoding = False
-
-_addons_fake_modules = {}
-
-def module_get(mod_name):
-    return _addons_fake_modules[mod_name]
+addons_fake_modules = {}
 
 
 def paths():
index 46227b2f48df4673644b11ca2b2ca4d469d2ebde..fd2b14658ad94d8cf7e31c7729b5efd39d818c22 100644 (file)
@@ -26,9 +26,6 @@ from bpy.props import (StringProperty,
                        FloatProperty,
                        EnumProperty,
                        )
-                       
-import addon_utils
-import os
 
 from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear
 
@@ -758,6 +755,7 @@ class WM_OT_path_open(Operator):
 
     def execute(self, context):
         import sys
+        import os
         import subprocess
 
         filepath = bpy.path.abspath(self.filepath)
@@ -1102,6 +1100,7 @@ class WM_OT_appconfig_default(Operator):
     bl_label = "Default Application Configuration"
 
     def execute(self, context):
+        import os
 
         context.window_manager.keyconfigs.active = context.window_manager.keyconfigs.default
 
@@ -1123,6 +1122,7 @@ class WM_OT_appconfig_activate(Operator):
             )
 
     def execute(self, context):
+        import os
         bpy.utils.keyconfig_set(self.filepath)
 
         filepath = self.filepath.replace("keyconfig", "interaction")
@@ -1150,6 +1150,7 @@ class WM_OT_copy_prev_settings(Operator):
     bl_label = "Copy Previous Settings"
 
     def execute(self, context):
+        import os
         import shutil
         ver = bpy.app.version
         ver_old = ((ver[0] * 100) + ver[1]) - 1
@@ -1608,6 +1609,8 @@ class WM_OT_addon_enable(Operator):
             )
 
     def execute(self, context):
+        import addon_utils
+
         mod = addon_utils.enable(self.module)
 
         if mod:
@@ -1637,6 +1640,8 @@ class WM_OT_addon_disable(Operator):
             )
 
     def execute(self, context):
+        import addon_utils
+
         addon_utils.disable(self.module)
         return {'FINISHED'}
 
@@ -1690,6 +1695,7 @@ class WM_OT_addon_install(Operator):
                     os.remove(f_full)
 
     def execute(self, context):
+        import addon_utils
         import traceback
         import zipfile
         import shutil
@@ -1725,7 +1731,7 @@ class WM_OT_addon_install(Operator):
         del pyfile_dir
         # done checking for exceptional case
 
-        addons_old = {mod.__name__ for mod in addon_utils.modules(addon_utils._addons_fake_modules)}
+        addons_old = {mod.__name__ for mod in addon_utils.modules(addon_utils.addons_fake_modules)}
 
         #check to see if the file is in compressed format (.zip)
         if zipfile.is_zipfile(pyfile):
@@ -1774,7 +1780,7 @@ class WM_OT_addon_install(Operator):
                 traceback.print_exc()
                 return {'CANCELLED'}
 
-        addons_new = {mod.__name__ for mod in addon_utils.modules(addon_utils._addons_fake_modules)} - addons_old
+        addons_new = {mod.__name__ for mod in addon_utils.modules(addon_utils.addons_fake_modules)} - addons_old
         addons_new.discard("modules")
 
         # disable any addons we may have enabled previously and removed.
@@ -1784,7 +1790,7 @@ class WM_OT_addon_install(Operator):
 
         # possible the zip contains multiple addons, we could disallow this
         # but for now just use the first
-        for mod in addon_utils.modules(addon_utils._addons_fake_modules):
+        for mod in addon_utils.modules(addon_utils.addons_fake_modules):
             if mod.__name__ in addons_new:
                 info = addon_utils.module_bl_info(mod)
 
@@ -1818,7 +1824,9 @@ class WM_OT_addon_remove(Operator):
 
     @staticmethod
     def path_from_addon(module):
-        for mod in addon_utils.modules(addon_utils._addons_fake_modules):
+        import addon_utils
+
+        for mod in addon_utils.modules(addon_utils.addons_fake_modules):
             if mod.__name__ == module:
                 filepath = mod.__file__
                 if os.path.exists(filepath):
@@ -1829,6 +1837,8 @@ class WM_OT_addon_remove(Operator):
         return None, False
 
     def execute(self, context):
+        import addon_utils
+
         path, isdir = WM_OT_addon_remove.path_from_addon(self.module)
         if path is None:
             self.report('WARNING', "Addon path %r could not be found" % path)
@@ -1868,12 +1878,14 @@ class WM_OT_addon_expand(Operator):
             )
 
     def execute(self, context):
+        import addon_utils
+
         module_name = self.module
 
         # unlikely to fail, module should have already been imported
         try:
             # mod = __import__(module_name)
-            mod = addon_utils.module_get(module_name)
+            mod = addon_utils.addons_fake_modules.get(module_name)
         except:
             import traceback
             traceback.print_exc()
index 0461724373088b2c65f746ef762e8782bd5adbb7..2e54631afa3321caeb8440e00935fab1c33f67ab 100644 (file)
@@ -77,7 +77,6 @@ del _namespace
 
 
 import bpy
-import addon_utils
 
 
 def register():
@@ -97,7 +96,7 @@ def register():
 
         items_unique = set()
 
-        for mod in addon_utils.modules(addon_utils._addons_fake_modules):
+        for mod in addon_utils.modules(addon_utils.addons_fake_modules):
             info = addon_utils.module_bl_info(mod)
             items_unique.add(info["category"])
 
index 22c93e0d0e15143ea132a69fd66d3b887ab76508..5670b912c7b442fef245aa28765baa4278f99015 100644 (file)
@@ -926,7 +926,7 @@ class USERPREF_PT_addons(Panel):
         used_ext = {ext.module for ext in userpref.addons}
 
         # collect the categories that can be filtered on
-        addons = [(mod, addon_utils.module_bl_info(mod)) for mod in addon_utils.modules(addon_utils._addons_fake_modules)]
+        addons = [(mod, addon_utils.module_bl_info(mod)) for mod in addon_utils.modules(addon_utils.addons_fake_modules)]
 
         split = layout.split(percentage=0.2)
         col = split.column()