diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2012-08-26 17:34:17 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2012-08-26 17:34:17 +0400 |
commit | b61abd4fe0da70ce52acf29c065df2af68e2eabe (patch) | |
tree | 67eb2668ca92240580a62f4358f7bc464c938b2e /release/scripts/modules/bpy/utils.py | |
parent | 43bb431548436b6b1699f795acd107de0f6b86a8 (diff) | |
parent | 25a925ceabb9987c0204df32200b664dcc1aaf44 (diff) |
Merge from trunk r49908-r50219smoke2
Diffstat (limited to 'release/scripts/modules/bpy/utils.py')
-rw-r--r-- | release/scripts/modules/bpy/utils.py | 41 |
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 + |