grepros 1.2.2
grep for ROS bag files and live topics
Loading...
Searching...
No Matches
McapSink Class Reference

Writes messages to MCAP file. More...

Inheritance diagram for McapSink:
Inheritance graph

Public Member Functions

 __init__ (self, args=None, **kwargs)
 
 close (self)
 Closes output file if open, emits metainfo.
 
 close_output (self)
 Closes output file, if any.
 
 emit (self, topic, msg, stamp=None, match=None, index=None)
 Writes out message to MCAP file.
 
 validate (self)
 Returns whether required libraries are available (mcap, mcap_ros1/mcap_ros2) and overwrite is valid and file is writable.
 
- Public Member Functions inherited from Sink
 __init__ (self, args=None, **kwargs)
 
 __enter__ (self)
 Context manager entry.
 
 __exit__ (self, exc_type, exc_value, traceback)
 Context manager exit, closes sink.
 
 autodetect (cls, target)
 Returns true if target is recognizable as output for this sink class.
 
 bind (self, source)
 Attaches source to sink.
 
 close (self)
 Shuts down output, closing any files or connections.
 
 configure (self, args=None, **kwargs)
 Updates sink configuration.
 
 emit (self, topic, msg, stamp=None, match=None, index=None)
 Outputs ROS message.
 
 emit_meta (self)
 Outputs source metainfo like bag header as debug stream, if not already emitted.
 
 flush (self)
 Writes out any pending data to disk.
 
 is_highlighting (self)
 Returns whether this sink requires highlighted matches.
 
 thread_excepthook (self, text, exc)
 Handles exception, used by background threads.
 
 validate (self)
 Returns whether sink prerequisites are met (like ROS environment set if LiveSink).
 
- Public Member Functions inherited from RolloverSinkMixin
 __init__ (self, args=None, **kwargs)
 
 close_output (self)
 Closes output file, if any.
 
 ensure_rollover (self, topic, msg, stamp)
 Closes current output file and prepares new filename if rollover limit reached.
 
 format_output_meta (self)
 Returns output file metainfo string, with names and sizes and message/topic counts.
 
 get_write_options (cls, label)
 Returns command-line help texts for rollover options, as [(name, help)].
 
 make_filename (self)
 Returns new filename for output, accounting for rollover template and overwrite.
 
 validate (self)
 Returns whether write options are valid, emits error if not, else populates options.
 

Public Attributes

 close
 
 filename
 
 valid
 
- Public Attributes inherited from Sink
 args
 
 source
 inputs.Source instance bound to this sink
 
 valid
 Result of validate()
 
- Public Attributes inherited from RolloverSinkMixin
 filename
 Current output file path.
 

Static Public Attributes

 DEFAULT_ARGS = dict(META=False, WRITE_OPTIONS={}, VERBOSE=False)
 Constructor argument defaults.
 
tuple FILE_EXTENSIONS = (".mcap", )
 Auto-detection file extensions.
 
- Static Public Attributes inherited from Sink
 DEFAULT_ARGS = dict(META=False)
 Constructor argument defaults.
 
tuple FILE_EXTENSIONS = ()
 Auto-detection file extensions for subclasses, as (".ext", )
 
- Static Public Attributes inherited from RolloverSinkMixin
 DEFAULT_ARGS = dict(WRITE=None, WRITE_OPTIONS={}, VERBOSE=False)
 Constructor argument defaults.
 
str FILE_META_TEMPLATE = "{name} ({size})"
 
str MULTI_META_TEMPLATE = "\n- {name} ({size}, {mcount}, {tcount})"
 
list OPTIONS_TEMPLATES
 Command-line help templates for rollover options, as [(name, text with s label placeholder)].
 
str START_META_TEMPLATE = "{mcount} in {tcount} to "
 

Additional Inherited Members

- Properties inherited from RolloverSinkMixin
 size = property
 Returns current file size in bytes, or None if size lookup failed.
 

Detailed Description

Writes messages to MCAP file.

Definition at line 591 of file mcap.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  args = None,
**  kwargs 
)
Parameters
argsarguments as namespace or dictionary, case-insensitive; or a single path as the file to write
args.writebase name of MCAP files to write
args.write_options{"overwrite": whether to overwrite existing file (default false), "rollover-size": bytes limit for individual output files, "rollover-count": message limit for individual output files, "rollover-duration": time span limit for individual output files, as ROS duration or convertible seconds, "rollover-template": output filename template, supporting strftime format codes like "%H-%M-%S" and "%(index)s" as output file index}
args.metawhether to print metainfo
args.verbosewhether to print debug information
kwargsany and all arguments as keyword overrides, case-insensitive

Reimplemented from Sink.

Definition at line 619 of file mcap.py.

Member Function Documentation

◆ close()

close (   self)

Closes output file if open, emits metainfo.

Reimplemented from Sink.

Definition at line 679 of file mcap.py.

◆ close_output()

close_output (   self)

Closes output file, if any.

Reimplemented from RolloverSinkMixin.

Definition at line 689 of file mcap.py.

◆ emit()

emit (   self,
  topic,
  msg,
  stamp = None,
  match = None,
  index = None 
)

Writes out message to MCAP file.

Reimplemented from Sink.

Definition at line 659 of file mcap.py.

◆ validate()

validate (   self)

Returns whether required libraries are available (mcap, mcap_ros1/mcap_ros2) and overwrite is valid and file is writable.

Reimplemented from Sink.

Definition at line 638 of file mcap.py.

Member Data Documentation

◆ close

close

Definition at line 631 of file mcap.py.

◆ DEFAULT_ARGS

DEFAULT_ARGS = dict(META=False, WRITE_OPTIONS={}, VERBOSE=False)
static

Constructor argument defaults.

Definition at line 598 of file mcap.py.

◆ FILE_EXTENSIONS

tuple FILE_EXTENSIONS = (".mcap", )
static

Auto-detection file extensions.

Definition at line 595 of file mcap.py.

◆ filename

filename

Definition at line 703 of file mcap.py.

◆ valid

valid

Definition at line 653 of file mcap.py.


The documentation for this class was generated from the following file: