@@ -20,9 +20,16 @@ def __init__(self, client, project_key, sm_id):
2020 def id (self ):
2121 return self .sm_id
2222
23- def get_definition (self ):
24- return self .client ._perform_json (
23+ def get_settings (self ):
24+ """
25+ Returns the settings of this saved model.
26+
27+ :rtype: DSSSavedModelSettings
28+ """
29+ data = self .client ._perform_json (
2530 "GET" , "/projects/%s/savedmodels/%s" % (self .project_key , self .sm_id ))
31+ return DSSSavedModelSettings (self , data )
32+
2633
2734 ########################################################
2835 # Versions
@@ -102,10 +109,9 @@ def get_origin_ml_task(self):
102109
103110 :rtype: DSSMLTask | None
104111 """
105- fmi = self .get_definition ().get ("lastExportedFrom" )
112+ fmi = self .get_settings (). get_raw ().get ("lastExportedFrom" )
106113 if fmi is not None :
107- origin_ml_task = DSSMLTask .from_full_model_id (self .client , fmi , project_key = self .project_key )
108- return origin_ml_task .get_trained_model_details (fmi )
114+ return DSSMLTask .from_full_model_id (self .client , fmi , project_key = self .project_key )
109115
110116
111117 ########################################################
@@ -193,3 +199,18 @@ def delete(self):
193199
194200 """
195201 return self .client ._perform_empty ("DELETE" , "/projects/%s/savedmodels/%s" % (self .project_key , self .sm_id ))
202+
203+
204+ class DSSSavedModelSettings :
205+ """
206+ A handle on the settings of a saved model
207+
208+ Do not create this class directly, instead use :meth:`dataikuapi.dss.DSSSavedModel.get_settings`
209+ """
210+
211+ def __init__ (self , saved_model , settings ):
212+ self .saved_model = saved_model
213+ self .settings = settings
214+
215+ def get_raw (self ):
216+ return self .settings
0 commit comments