From a0ea0153c262d86dc1ca532315d17974e27cc964 Mon Sep 17 00:00:00 2001 From: Aaron Carlisle Date: Wed, 4 Mar 2020 23:24:13 -0500 Subject: Addons: Allow a user manual url prefix in doc_url This was raised in T74017, the issue being that we point to `/dev` version of the manual for the addons when we want to point to a specific version instead. Instead of manually updating the URL every release we can do this. The `bl_info` for addons will need to be updated in the format of `'doc_url': {BLENDER_MANUAL_URL}/addons/import_export/scene_gltf2.html",` Differential Revision: https://developer.blender.org/D6995 --- release/scripts/modules/addon_utils.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'release') diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py index 43d62913ff7..a65ff15393a 100644 --- a/release/scripts/modules/addon_utils.py +++ b/release/scripts/modules/addon_utils.py @@ -496,6 +496,15 @@ def disable_all(): disable(mod_name) +def _blender_manual_url_prefix(): + if _bpy.app.version_cycle in {"rc", "release"}: + manual_version = "%d.%d" % _bpy.app.version[:2] + else: + manual_version = "dev" + + return f"https://docs.blender.org/manual/en/{manual_version}" + + def module_bl_info(mod, info_basis=None): if info_basis is None: info_basis = { @@ -543,5 +552,14 @@ def module_bl_info(mod, info_basis=None): ) ) + doc_url = addon_info["doc_url"] + if doc_url: + doc_url_prefix = "{BLENDER_MANUAL_URL}" + if doc_url_prefix in doc_url: + addon_info["doc_url"] = doc_url.replace( + doc_url_prefix, + _blender_manual_url_prefix(), + ) + addon_info["_init"] = None return addon_info -- cgit v1.2.3