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

Writes messages to bagfile. More...

Inheritance diagram for BagSink:
Inheritance graph

Public Member Functions

 __init__ (self, args=None, **kwargs)
 
 autodetect (cls, target)
 Returns true if target is recognizable as a ROS bag.
 
 close (self)
 Closes output bag, if any, emits metainfo.
 
 close_output (self)
 Closes output bag, if any.
 
 emit (self, topic, msg, stamp=None, match=None, index=None)
 Writes message to output bagfile.
 
 validate (self)
 Returns whether write options are valid and ROS environment set, emits error if not.
 
- 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.
 
- 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 "
 

Properties

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

Detailed Description

Writes messages to bagfile.

Definition at line 636 of file outputs.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  args = None,
**  kwargs 
)
Parameters
argsarguments as namespace or dictionary, case-insensitive; or a single path as the ROS bagfile to write, or a stream or Bag instance to write to
args.writename of ROS bagfile to create or append to, or a stream to write to
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 emit metainfo
args.verbosewhether to emit debug information
kwargsany and all arguments as keyword overrides, case-insensitive

Reimplemented from Sink.

Definition at line 662 of file outputs.py.

Member Function Documentation

◆ autodetect()

autodetect (   cls,
  target 
)

Returns true if target is recognizable as a ROS bag.

Reimplemented from Sink.

Definition at line 774 of file outputs.py.

◆ close()

close (   self)

Closes output bag, if any, emits metainfo.

Reimplemented from Sink.

Definition at line 717 of file outputs.py.

◆ close_output()

close_output (   self)

Closes output bag, if any.

Reimplemented from RolloverSinkMixin.

Definition at line 725 of file outputs.py.

◆ emit()

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

Writes message to output bagfile.

Reimplemented from Sink.

Definition at line 678 of file outputs.py.

◆ validate()

validate (   self)

Returns whether write options are valid and ROS environment set, emits error if not.

Reimplemented from Sink.

Definition at line 692 of file outputs.py.

Member Data Documentation

◆ close

close

Definition at line 676 of file outputs.py.

◆ DEFAULT_ARGS

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

Constructor argument defaults.

Definition at line 640 of file outputs.py.

◆ filename

filename

Definition at line 735 of file outputs.py.

◆ valid

valid

Definition at line 714 of file outputs.py.

Property Documentation

◆ size

size = property
static

Returns current file size in bytes, or None if size lookup failed.

Definition at line 732 of file outputs.py.


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