@@ -66,7 +66,7 @@ def delete(self, table_id, metadata_id):
6666
6767 self ._delete (url )
6868
69- def create (self , table_id , provider , metadata , columns_metadata ):
69+ def create (self , table_id , provider , metadata , columns_metadata = None ):
7070 """
7171 Post metadata to a table.
7272
@@ -86,13 +86,15 @@ def create(self, table_id, provider, metadata, columns_metadata):
8686 ValueError: If the metadata is not a list.
8787 ValueError: If the columns_metadata is not a list
8888 """
89+ if columns_metadata is None :
90+ columns_metadata = []
8991 if not isinstance (table_id , str ) or table_id == '' :
9092 raise ValueError ("Invalid table_id '{}'." .format (table_id ))
9193 if not isinstance (provider , str ) or provider == '' :
9294 raise ValueError ("Invalid provider '{}'." .format (provider ))
9395 if not isinstance (metadata , list ):
9496 raise ValueError ("Invalid metadata '{}'." .format (metadata ))
95- if not isinstance (columns_metadata , list ):
97+ if columns_metadata is not None and not isinstance (columns_metadata , list ):
9698 raise ValueError ("Invalid columns_metadata '{}'." .format (columns_metadata ))
9799
98100 url = '{}/{}/metadata' .format (self .base_url , table_id )
@@ -101,7 +103,8 @@ def create(self, table_id, provider, metadata, columns_metadata):
101103 }
102104 data = {
103105 "provider" : provider ,
104- "metadata" : metadata ,
105- "columnsMetadata" : columns_metadata
106+ "metadata" : metadata
106107 }
108+ if columns_metadata :
109+ data ["columnsMetadata" ] = columns_metadata
107110 return self ._post (url , data = json .dumps (data ), headers = headers )
0 commit comments