Skip to content

Commit a66c833

Browse files
authored
Merge pull request #1 from mindsdb/testing
Testing fixes
2 parents b665ef8 + 68385ae commit a66c833

File tree

1 file changed

+34
-19
lines changed

1 file changed

+34
-19
lines changed

minds/minds.py

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,50 @@ def __init__(
2525
self.created_at = created_at
2626
self.updated_at = updated_at
2727

28-
self.datasources = []
29-
for name in datasources:
30-
try:
31-
ds = self.client.datasources.get(name)
32-
except RuntimeError:
33-
# TODO skipped, it could be not sql skill
34-
continue
35-
self.datasources.append(ds)
28+
self.datasources = datasources
3629

3730
def update(
3831
self,
39-
model_name=None,
32+
name: str = None,
33+
model_name: str = None,
4034
provider=None,
4135
parameters=None,
4236
datasources=None
4337
):
44-
if datasources:
45-
datasources = [ds.model_dump() for ds in datasources]
38+
data = {}
39+
40+
if datasources is not None:
41+
ds_names = []
42+
for ds in datasources:
43+
if isinstance(ds, Datasource):
44+
ds = ds.name
45+
elif isinstance(ds, DatabaseConfig):
46+
# try to create
47+
try:
48+
self.client.datasources.create(ds)
49+
except Exception:
50+
...
51+
ds = ds.name
52+
elif not isinstance(ds, str):
53+
raise ValueError(f'Unknown type of datasource: {ds}')
54+
ds_names.append(ds)
55+
data['datasources'] = ds_names
56+
57+
if name is not None:
58+
data['name'] = name
59+
if model_name is not None:
60+
data['model_name'] = model_name
61+
if provider is not None:
62+
data['provider'] = provider
63+
if parameters is not None:
64+
data['parameters'] = parameters
4665

4766
self.api.patch(
48-
f'/projects/{self.project}/minds',
49-
data={
50-
'name': self.name,
51-
'model_name': model_name,
52-
'provider': provider,
53-
'parameters': parameters,
54-
'datasources': datasources,
55-
}
67+
f'/projects/{self.project}/minds/{self.name}',
68+
data=data
5669
)
70+
if name is not None and name != self.name:
71+
self.name = name
5772

5873
def add_datasource(self, datasource: Datasource):
5974
self.api.post(

0 commit comments

Comments
 (0)