@@ -61,7 +61,6 @@ def __init__(self, path=None, type_name="SensorView", cache_messages=False, topi
6161 topic (str): The topic name for multi-channel traces (only applies to multi-channel traces); Using the first available topic if not specified.
6262 """
6363 self .reader = None
64- self .path = None
6564
6665 if path is not None :
6766 self .reader = self ._init_reader (Path (path ), type_name , cache_messages , topic )
@@ -145,6 +144,7 @@ def get_channel_metadata(self):
145144
146145class ReaderBase (ABC ):
147146 """Common interface for trace readers"""
147+
148148 @abstractmethod
149149 def restart (self , index = None ):
150150 pass
@@ -309,11 +309,10 @@ class OSITraceMulti(ReaderBase):
309309 """OSI multi-channel trace reader"""
310310
311311 def __init__ (self , path , topic ):
312- self .path = Path (path )
313- self ._file = open (self .path , "rb" )
314- self .mcap_reader = make_reader (self ._file , decoder_factories = [DecoderFactory ()])
312+ self ._file = open (path , "rb" )
313+ self ._mcap_reader = make_reader (self ._file , decoder_factories = [DecoderFactory ()])
315314 self ._iter = None
316- self ._summary = self .mcap_reader .get_summary ()
315+ self ._summary = self ._mcap_reader .get_summary ()
317316 available_topics = self .get_available_topics ()
318317 if topic == None :
319318 topic = available_topics [0 ]
@@ -329,15 +328,15 @@ def restart(self, index=None):
329328 def __iter__ (self ):
330329 """Stateful iterator over the channel's messages in log time order."""
331330 if self ._iter is None :
332- self ._iter = self .mcap_reader .iter_decoded_messages (topics = [self .topic ])
331+ self ._iter = self ._mcap_reader .iter_decoded_messages (topics = [self .topic ])
333332 for message in self ._iter :
334333 yield message .decoded_message
335334
336335 def close (self ):
337336 if self ._file :
338337 self ._file .close ()
339338 self ._file = None
340- self .mcap_reader = None
339+ self ._mcap_reader = None
341340 self ._summary = None
342341 self ._iter = None
343342
@@ -346,7 +345,7 @@ def get_available_topics(self):
346345
347346 def get_file_metadata (self ):
348347 metadata = []
349- for metadata_entry in self .mcap_reader .iter_metadata ():
348+ for metadata_entry in self ._mcap_reader .iter_metadata ():
350349 metadata .append (metadata_entry )
351350 return metadata
352351
0 commit comments