1111from .csapi4py .default_api_helpers import APIHelper
1212from .datastore import DataStore
1313from .resource_datamodels import DatastreamResource
14- from .streamableresource import Node , System , SessionManager , Datastream
14+ from .streamableresource import Node , System , SessionManager , Datastream , ControlStream
1515from .styling import Styling
1616from .timemanagement import TemporalModes , TimeManagement , TimePeriod
1717
@@ -120,6 +120,7 @@ def discover_datastreams(self):
120120 datastreams = list (
121121 map (lambda ds : Datastream (parent_node = system .get_parent_node (), id = ds .ds_id , datastream_resource = ds ),
122122 res_datastreams ))
123+
123124 for ds in datastreams :
124125 ds .set_parent_resource_id (system .get_underlying_resource ().system_id )
125126 # datastreams = [ds.set_parent_resource_id(system.get_underlying_resource().system_id) for ds in datastreams]
@@ -142,7 +143,14 @@ def discover_systems(self, nodes: list[str] = None):
142143 self ._systems .extend (res_systems )
143144
144145 def discover_controlstreams (self , streams : list ):
145- pass
146+ for system in self ._systems :
147+ res_controlstreams = system .discover_controlstreams ()
148+ controlstreams = list (
149+ map (lambda cs : ControlStream (parent_node = system .get_parent_node (), id = cs .cs_id ,
150+ controlstream_resource = cs ), res_controlstreams ))
151+ for cs in controlstreams :
152+ cs .set_parent_resource_id (system .get_underlying_resource ().system_id )
153+ self ._datataskers .extend (controlstreams )
146154
147155 def authenticate_user (self , user : dict ):
148156 pass
0 commit comments