@@ -240,9 +240,36 @@ def get_kpis_for_asset(self, **kwargs):
240240 )
241241 return kpis (self .session , base_url ).get_kpis_for_asset (** kwargs )
242242
243- def get_kpi_data_viz (self , ** kwargs ):
244- kpis = smsdkentities .get ('kpi' )
243+ def get_kpi_data_viz (self , machine_source = None , kpis = None , i_vars = None , time_selection = None , ** kwargs ):
244+ kpi_entity = smsdkentities .get ('kpi' )
245+ if machine_source :
246+ machine_type = self .get_type_from_machine (machine_source , ** kwargs )
247+ kwargs ["asset_selection" ]= {
248+ "machine_source" : [machine_source ],
249+ "machine_type" : [machine_type ]
250+ }
251+
252+ if kpis :
253+ d_vars = []
254+ for kpi in kpis :
255+ d_vars .append ({"name" : kpi , "aggregate" : ["avg" ]})
256+ kwargs ['d_vars' ] = d_vars
257+
258+ if i_vars :
259+ kwargs ['i_vars' ] = i_vars
260+
261+ if time_selection :
262+ kwargs ["time_selection" ] = time_selection
263+
245264 base_url = get_url (
246265 self .config ["protocol" ], self .tenant , self .config ["site.domain" ]
247266 )
248- return kpis (self .session , base_url ).get_kpi_data_viz (** kwargs )
267+ return kpi_entity (self .session , base_url ).get_kpi_data_viz (** kwargs )
268+
269+ def get_type_from_machine (self , machine_source = None , ** kwargs ):
270+ machine = smsdkentities .get ('machine' )
271+ base_url = get_url (
272+ self .config ["protocol" ], self .tenant , self .config ["site.domain" ]
273+ )
274+ return machine (self .session , base_url ).get_type_from_machine_name (machine_source , ** kwargs )
275+
0 commit comments