Update table generation script to include available regions.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/2b2a79cc Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/2b2a79cc Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/2b2a79cc Branch: refs/heads/trunk Commit: 2b2a79ccedefaf584beb463ac371f3d07e3e1f97 Parents: fe6c8a4 Author: Tomaz Muraus <to...@tomaz.me> Authored: Thu Mar 31 19:15:57 2016 -0700 Committer: Tomaz Muraus <to...@tomaz.me> Committed: Thu Mar 31 19:15:57 2016 -0700 ---------------------------------------------------------------------- .../generate_provider_feature_matrix_table.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b2a79cc/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 5bdcf32..c0c5320 100755 --- a/contrib/generate_provider_feature_matrix_table.py +++ b/contrib/generate_provider_feature_matrix_table.py @@ -219,7 +219,6 @@ IGNORED_PROVIDERS = [ # Deprecated constants 'cloudsigma_us', - 'cloudfiles_swift' ] @@ -275,8 +274,9 @@ def generate_providers_table(api): try: cls = get_driver_method(enum) - except: + except Exception as e: # Deprecated providers throw an exception + print('Ignoring deprecated constant "%s"' % (enum)) continue # Hack for providers which expose multiple classes and support multiple @@ -307,6 +307,7 @@ def generate_providers_table(api): result[name] = {'name': cls.name, 'website': cls.website, 'constant': name, 'module': drivers[enum][0], 'class': drivers[enum][1], + 'cls': cls, 'methods': {}} for method_name in base_api_methods: @@ -389,8 +390,8 @@ def generate_supported_methods_table(api, provider_matrix): def generate_supported_providers_table(api, provider_matrix): data = [] - header = ['Provider', 'Documentation', 'Provider constant', 'Module', - 'Class Name'] + header = ['Provider', 'Documentation', 'Provider Constant', + 'Supported Regions', 'Module', 'Class Name'] data.append(header) for provider, values in sorted(provider_matrix.items()): @@ -408,7 +409,16 @@ def generate_supported_providers_table(api, provider_matrix): else: docs_link = '' - row = [name_str, docs_link, values['constant'], module_str, class_str] + cls = values['cls'] + supported_regions = cls.list_regions() + + if supported_regions: + supported_regions = ', '.join(supported_regions) + else: + supported_regions = 'single region driver' + + row = [name_str, docs_link, values['constant'], supported_regions, + module_str, class_str] data.append(row) result = generate_rst_table(data)