Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Genrich <daniel.genrich@gmx.net>2012-08-26 17:34:17 +0400
committerDaniel Genrich <daniel.genrich@gmx.net>2012-08-26 17:34:17 +0400
commitb61abd4fe0da70ce52acf29c065df2af68e2eabe (patch)
tree67eb2668ca92240580a62f4358f7bc464c938b2e /release/scripts/modules/bpy/utils.py
parent43bb431548436b6b1699f795acd107de0f6b86a8 (diff)
parent25a925ceabb9987c0204df32200b664dcc1aaf44 (diff)
Merge from trunk r49908-r50219smoke2
Diffstat (limited to 'release/scripts/modules/bpy/utils.py')
-rw-r--r--release/scripts/modules/bpy/utils.py41
1 files changed, 40 insertions, 1 deletions
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py
index 09deb33c174..e24b61a757d 100644
--- a/release/scripts/modules/bpy/utils.py
+++ b/release/scripts/modules/bpy/utils.py
@@ -33,6 +33,9 @@ __all__ = (
"refresh_script_paths",
"register_class",
"register_module",
+ "register_manual_map",
+ "unregister_manual_map",
+ "manual_map",
"resource_path",
"script_path_user",
"script_path_pref",
@@ -56,7 +59,6 @@ import addon_utils as _addon_utils
_script_module_dirs = "startup", "modules"
-
def _test_import(module_name, loaded_modules):
use_time = _bpy.app.debug_python
@@ -595,3 +597,40 @@ def unregister_module(module, verbose=False):
traceback.print_exc()
if verbose:
print("done.\n")
+
+
+# -----------------------------------------------------------------------------
+# Manual lookups, each function has to return a basepath and a sequence
+# of...
+
+# we start with the built-in default mapping
+def _blender_default_map():
+ import sys
+ import rna_wiki_reference as ref_mod
+ ret = (ref_mod.url_manual_prefix, ref_mod.url_manual_mapping)
+ # avoid storing in memory
+ del sys.modules["rna_wiki_reference"]
+ return ret
+
+# hooks for doc lookups
+_manual_map = [_blender_default_map]
+
+def register_manual_map(manual_hook):
+ _manual_map.append(manual_hook)
+
+def unregister_manual_map(manual_hook):
+ _manual_map.remove(manual_hook)
+
+def manual_map():
+ # reverse so default is called last
+ for cb in reversed(_manual_map):
+ try:
+ prefix, url_manual_mapping = cb()
+ except:
+ print("Error calling %r" % cb)
+ import traceback
+ traceback.print_exc()
+ continue
+
+ yield prefix, url_manual_mapping
+