You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2016/04/06 17:17:40 UTC

[08/15] libcloud git commit: Update table generation script to include available regions.

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)