Skip to content

Commit 46b6974

Browse files
author
Louis Pouillot
committed
Move extract_info_from_full_model_id to DSSMLTask.from_full_model_id
1 parent 07efd0a commit 46b6974

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

dataikuapi/dss/ml.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from dataikuapi.dss.utils import extract_info_from_full_model_id
1+
import re
2+
23
from ..utils import DataikuException
34
from ..utils import DataikuUTF8CSVReader
45
from ..utils import DataikuStreamedHttpUTF8CSVReader
@@ -537,9 +538,8 @@ def get_origin_analysis_trained_model(self):
537538
if "smOrigin" not in self.get_raw():
538539
raise DataikuException("Unknow ")
539540
fmi = self.get_raw()["smOrigin"]["fullModelId"]
540-
_, analysis_id, mltask_id = extract_info_from_full_model_id(fmi)
541-
542-
origin_ml_task = DSSMLTask(self.saved_model.client, self.saved_model.project_key, analysis_id, mltask_id)
541+
origin_ml_task = DSSMLTask.from_full_model_id(self.saved_model.client, fmi,
542+
project_key=self.saved_model.project_key)
543543
return origin_ml_task.get_trained_model_details(fmi)
544544

545545
class DSSTreeNode(object):
@@ -1443,6 +1443,14 @@ def get_scatter_plots(self):
14431443

14441444

14451445
class DSSMLTask(object):
1446+
1447+
@staticmethod
1448+
def from_full_model_id(client, fmi, project_key=None):
1449+
match = re.match(u'A-([\w]+)-([\w]+)-([\w]+)-s\w+-pp\w+-m\w+', fmi)
1450+
if project_key is None:
1451+
project_key = match.group(1)
1452+
return DSSMLTask(client, project_key, match.group(2), match.group(3))
1453+
14461454
"""A handle to interact with a MLTask for prediction or clustering in a DSS visual analysis"""
14471455
def __init__(self, client, project_key, analysis_id, mltask_id):
14481456
self.client = client

dataikuapi/dss/savedmodel.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from dataikuapi.dss.ml import DSSMLTask
2-
from dataikuapi.dss.utils import extract_info_from_full_model_id
32
from .ml import DSSTrainedPredictionModelDetails, DSSTrainedClusteringModelDetails
43
from .metrics import ComputedMetrics
54
from .ml import DSSTrainedClusteringModelDetails
@@ -100,8 +99,9 @@ def get_origin_ml_task(self):
10099
"""
101100
definition = self.get_definition()
102101
fmi = definition["lastExportedFrom"]
103-
_, analysis_id, ml_task_id = extract_info_from_full_model_id(fmi)
104-
return DSSMLTask(self.client, self.project_key, analysis_id, ml_task_id)
102+
103+
origin_ml_task = DSSMLTask.from_full_model_id(self.client, fmi, project_key=self.project_key)
104+
return origin_ml_task.get_trained_model_details(fmi)
105105

106106
########################################################
107107
# Metrics

dataikuapi/dss/utils.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,3 @@ def custom_fields(self):
261261
@custom_fields.setter
262262
def custom_fields(self, custom_fields):
263263
self._tod["customFields"] = custom_fields
264-
265-
266-
def extract_info_from_full_model_id(full_model_id):
267-
match = re.search(u'([\w]+)-([\w]+)-([\w]+)-s\w+-pp\w+-m\w+', full_model_id)
268-
return match.group(1), match.group(2), match.group(3)

0 commit comments

Comments
 (0)