@@ -1339,19 +1339,26 @@ def __repr__(self):
13391339 out = f"<Intake catalog: Stream *REPR_RENDERING_FAILURE* { exc !r} >"
13401340 return out
13411341
1342+ def _to_xarray (self , fill = 'yes' ):
1343+
1344+ def stream_gen ():
1345+ for i in itertools .count ():
1346+ partition = self .read_partition ({'index' : i , 'fill' : fill ,
1347+ 'partition_size' : 'auto' })
1348+ if not partition :
1349+ break
1350+ yield from partition
1351+
1352+ stream = stream_gen ()
1353+
1354+ arraypages = [eventpage_to_arraypage (doc ) for name , doc
1355+ in stream if name == 'event_page' ]
1356+ arraypage = concat_arraypages (array_pages )
1357+ datasetpage = arraypage_to_datasetpage (array_page )
1358+ return datasetpage
1359+
13421360 def _open_dataset (self ):
1343- self ._load_header ()
1344- self ._ds = documents_to_xarray (
1345- start_doc = self ._run_start_doc ,
1346- stop_doc = self ._run_stop_doc ,
1347- descriptor_docs = self ._descriptors ,
1348- get_event_pages = self ._get_event_pages ,
1349- filler = self .fillers ['delayed' ],
1350- get_resource = self ._get_resource ,
1351- lookup_resource_for_datum = self ._lookup_resource_for_datum ,
1352- get_datum_pages = self ._get_datum_pages ,
1353- include = self .include ,
1354- exclude = self .exclude )
1361+ self ._ds = _to_xarray ()['data' ]
13551362
13561363 def read (self ):
13571364 """
@@ -1756,7 +1763,7 @@ def parse_transforms(transforms):
17561763intake .container .container_map ['bluesky-event-stream' ] = RemoteBlueskyEventStream
17571764
17581765
1759- def concat_dataarray_pages (dataarray_pages ):
1766+ def concat_arraypages (dataarray_pages ):
17601767 """
17611768 Combines a iterable of dataarray_pages to a single dataarray_page.
17621769
@@ -1792,7 +1799,7 @@ def concat_dataarray_pages(dataarray_pages):
17921799 for key in data_keys }}
17931800
17941801
1795- def event_page_to_dataarray_page (event_page , dims = None , coords = None ):
1802+ def eventpage_to_arraypage (event_page , dims = None , coords = None ):
17961803 """
17971804 Converts the event_page's data, timestamps, and filled to xarray.DataArray.
17981805
@@ -1831,7 +1838,7 @@ def event_page_to_dataarray_page(event_page, dims=None, coords=None):
18311838 for key in data_keys }}
18321839
18331840
1834- def dataarray_page_to_dataset_page (dataarray_page ):
1841+ def arraypage_to_datasetpage (dataarray_page ):
18351842
18361843 """
18371844 Converts the dataarray_page's data, timestamps, and filled to xarray.DataSet.
0 commit comments