@@ -142,7 +142,7 @@ def __init__(self, name: str, loginInfo: OpalClient.LoginInfo, profile: str = "d
142142 self .rsession = None
143143 self .rsession_started = False
144144
145- def get_name (self ):
145+ def get_name (self ) -> str :
146146 """Get the name of the connection."""
147147 return self .name
148148
@@ -169,11 +169,17 @@ def list_tables(self) -> list:
169169 return names
170170
171171 def has_table (self , name : str ) -> bool :
172+ # name is in format "datasource.table"
173+ if "." not in name :
174+ raise OpalDSError (ValueError (f"Invalid table name: { name } . Expected format 'datasource.table'" ))
172175 parts = name .split ("." )
173176 response = self ._get (UriBuilder (["datasource" , parts [0 ], "table" , parts [1 ]]).build ()).send ()
174177 return response .code == 200
175178
176179 def list_table_variables (self , table ) -> list :
180+ # table is in format "datasource.table"
181+ if "." not in table :
182+ raise OpalDSError (ValueError (f"Invalid table name: { table } . Expected format 'datasource.table'" ))
177183 tokens = table .split ("." )
178184 project_name = tokens [0 ]
179185 table_name = tokens [1 ]
@@ -209,6 +215,8 @@ def list_resources(self) -> list:
209215 return names
210216
211217 def has_resource (self , name : str ) -> bool :
218+ if "." not in name :
219+ raise OpalDSError (ValueError (f"Invalid resource name: { name } . Expected format 'project.resource'" ))
212220 parts = name .split ("." )
213221 response = self ._get (UriBuilder (["project" , parts [0 ], "resource" , parts [1 ]]).build ()).send ()
214222 return response .code == 200
0 commit comments