modifications needed to get a URL from an RNA id from the testing script

This commit is contained in:
Campbell Barton 2012-09-13 00:26:01 +00:00
parent 2596a0bd24
commit 12da3d999b
2 changed files with 19 additions and 12 deletions

@ -847,28 +847,35 @@ class WM_OT_doc_view_manual(Operator):
doc_id = doc_id doc_id = doc_id
@staticmethod @staticmethod
def _find_reference(rna_id, url_mapping): def _find_reference(rna_id, url_mapping, verbose=True):
print("online manual check for: '%s'... " % rna_id) if verbose:
print("online manual check for: '%s'... " % rna_id)
from fnmatch import fnmatch from fnmatch import fnmatch
for pattern, url_suffix in url_mapping: for pattern, url_suffix in url_mapping:
if fnmatch(rna_id, pattern): if fnmatch(rna_id, pattern):
print(" match found: '%s' --> '%s'" % (pattern, url_suffix)) if verbose:
print(" match found: '%s' --> '%s'" % (pattern, url_suffix))
return url_suffix return url_suffix
print("match not found") if verbose:
print("match not found")
return None return None
@staticmethod
def _lookup_rna_url(rna_id, verbose=True):
url = None
for prefix, url_manual_mapping in bpy.utils.manual_map():
rna_ref = WM_OT_doc_view_manual._find_reference(rna_id, url_manual_mapping, verbose=verbose)
if rna_ref is not None:
url = prefix + rna_ref
break
return url
def execute(self, context): def execute(self, context):
rna_id = _wm_doc_get_id(self.doc_id, do_url=False) rna_id = _wm_doc_get_id(self.doc_id, do_url=False)
if rna_id is None: if rna_id is None:
return {'PASS_THROUGH'} return {'PASS_THROUGH'}
url = None url = self._lookup_rna_url(rna_id)
for prefix, url_manual_mapping in bpy.utils.manual_map():
rna_ref = self._find_reference(rna_id, url_manual_mapping)
if rna_ref is not None:
url = prefix + rna_ref
break
if url is None: if url is None:
self.report({'WARNING'}, "No reference available %r, " self.report({'WARNING'}, "No reference available %r, "

@ -19,7 +19,7 @@
# <pep8 compliant> # <pep8 compliant>
# Used for generating API diff's between releases # Used for generating API diff's between releases
# ./blender.bin --background -noaudio --python release/test/rna_info_dump.py # ./blender.bin --background -noaudio --python source/tests/rna_info_dump.py
import bpy import bpy