docs: Link to the provider documentation page from the provider matrix table.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/08662bef Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/08662bef Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/08662bef Branch: refs/heads/trunk Commit: 08662bef48cf0e6d5e4ff197542a9dbdd3c2a621 Parents: f7c81f6 Author: Tomaz Muraus <[email protected]> Authored: Fri Oct 11 15:20:11 2013 +0200 Committer: Tomaz Muraus <[email protected]> Committed: Fri Oct 11 15:20:11 2013 +0200 ---------------------------------------------------------------------- .../generate_provider_feature_matrix_table.py | 25 ++++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/08662bef/contrib/generate_provider_feature_matrix_table.py ---------------------------------------------------------------------- diff --git a/contrib/generate_provider_feature_matrix_table.py b/contrib/generate_provider_feature_matrix_table.py index 7f7c903..319d00f 100755 --- a/contrib/generate_provider_feature_matrix_table.py +++ b/contrib/generate_provider_feature_matrix_table.py @@ -232,16 +232,29 @@ def generate_supported_methods_table(api, provider_matrix): return result -def generate_supported_providers_table(provider_matrix): +def generate_supported_providers_table(api, provider_matrix): data = [] - header = ['Provider', 'Provider constant', 'Module', 'Class Name'] + header = ['Provider', 'Documentation', 'Provider constant', 'Module', + 'Class Name'] data.append(header) for provider, values in provider_matrix.items(): + name_str = '`%s`_' % (values['name']) module_str = ':mod:`%s`' % (values['module']) class_str = ':class:`%s`' % (values['class']) - row = [name_str, values['constant'], module_str, class_str] + + params = {'api': api, 'provider': provider.lower()} + driver_docs_path = pjoin(this_dir, + '../docs/%(api)s/drivers/%(provider)s.rst' + % params) + + if os.path.exists(driver_docs_path): + docs_link = ':doc:`Click </%(api)s/drivers/%(provider)s>`' % params + else: + docs_link = '' + + row = [name_str, docs_link, values['constant'], module_str, class_str] data.append(row) result = generate_rst_table(data) @@ -256,8 +269,6 @@ def generate_tables(): apis = BASE_API_METHODS.keys() for api in apis: result = generate_providers_table(api) - supported_providers = generate_supported_providers_table(result) - supported_methods = generate_supported_methods_table(api, result) docs_dir = api @@ -266,6 +277,10 @@ def generate_tables(): elif api.startswith('storage'): docs_dir = 'storage' + supported_providers = generate_supported_providers_table(docs_dir, + result) + supported_methods = generate_supported_methods_table(api, result) + current_path = os.path.dirname(__file__) target_dir = os.path.abspath(pjoin(current_path, '../docs/%s/' % (docs_dir)))
