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

Produces messages from iterable or pushed data. More...

Inheritance diagram for AppSource:
Inheritance graph

Public Member Functions

 __init__ (self, args=None, **kwargs)
 
 close (self)
 Closes current read() yielding, if any.
 
 is_processable (self, topic, msg, stamp, index=None)
 Returns whether message passes source filters; registers status.
 
 mark_queue (self, topic, msg, stamp)
 Registers message produced from read_queue().
 
 push (self, topic, msg=None, stamp=None)
 Pushes a message to be yielded from read().
 
 read (self)
 Yields messages from iterable or pushed data, as (topic, msg, ROS timestamp).
 
 read_queue (self)
 Returns (topic, msg, stamp) from push queue, or None if no queue or message in queue is condition topic only.
 
 validate (self)
 Returns whether configured arguments are valid, prints error if not.
 
- Public Member Functions inherited from Source
 __init__ (self, args=None, **kwargs)
 
 __enter__ (self)
 Context manager entry.
 
 __exit__ (self, exc_type, exc_value, traceback)
 Context manager exit, closes source.
 
 __iter__ (self)
 Yields messages from source, as (topic, msg, ROS time).
 
 bind (self, sink)
 Attaches sink to source.
 
 close (self)
 Shuts down input, closing any files or connections.
 
 close_batch (self)
 Shuts down input batch if any (like bagfile), else all input.
 
 configure (self, args=None, **kwargs)
 Updates source configuration.
 
 configure_progress (self, **kwargs)
 Configures progress bar options, updates current bar if any.
 
 format_message_meta (self, topic, msg, stamp, index=None)
 Returns message metainfo string.
 
 format_meta (self)
 Returns source metainfo string.
 
 get_batch (self)
 Returns source batch identifier if any (like bagfile name if BagSource).
 
 get_message_class (self, typename, typehash=None)
 Returns message type class.
 
 get_message_definition (self, msg_or_type)
 Returns ROS message type definition full text, including subtype definitions.
 
 get_message_meta (self, topic, msg, stamp, index=None)
 Returns message metainfo data dict.
 
 get_message_type_hash (self, msg_or_type)
 Returns ROS message type MD5 hash.
 
 get_meta (self)
 Returns source metainfo data dict.
 
 init_progress (self)
 Initializes progress bar, if any.
 
 is_processable (self, topic, msg, stamp, index=None)
 Returns whether message passes source filters; registers status.
 
 notify (self, status)
 Reports match status of last produced message.
 
 read (self)
 Yields messages from source, as (topic, msg, ROS time).
 
 thread_excepthook (self, text, exc)
 Handles exception, used by background threads.
 
 update_progress (self, count, running=True)
 Updates progress bar, if any, with source processed count, pauses bar if not running.
 
 validate (self)
 Returns whether arguments are valid and source prerequisites are met.
 
- Public Member Functions inherited from ConditionMixin
 __init__ (self, args=None, **kwargs)
 
 close_batch (self)
 Clears cached messages.
 
 conditions_get_topics (self)
 Returns a list of all topics used in conditions (may contain wildcards).
 
 conditions_register_message (self, topic, msg)
 Retains message for condition evaluation if in condition topic.
 
 conditions_set_topic_state (self, topic, pure)
 Sets whether topic is purely used for conditions not matching.
 
 has_conditions (self)
 Returns whether there are any conditions configured.
 
 is_conditions_topic (self, topic, pure=True)
 Returns whether topic is used for checking condition.
 
 is_processable (self, topic, msg, stamp, index=None)
 Returns whether message passes passes current state conditions, if any.
 
 validate (self)
 Returns whether conditions have valid syntax, sets options, prints errors.
 

Public Attributes

 valid
 
- Public Attributes inherited from Source
 args
 
 bar
 ProgressBar instance, if any.
 
 preprocess
 Apply all filter arguments when reading, not only topic and type.
 
 sink
 outputs.Sink instance bound to this source
 
 topics
 All topics in source, as {(topic, typenane, typehash): total message count or None}.
 
 valid
 Result of validate()
 
- Public Attributes inherited from ConditionMixin
 args
 

Static Public Attributes

 DEFAULT_ARGS
 Constructor argument defaults.
 
- Static Public Attributes inherited from Source
 DEFAULT_ARGS
 Constructor argument defaults.
 
str MESSAGE_META_TEMPLATE = "{topic} #{index} ({type} {dt} {stamp})"
 Template for message metainfo line.
 
- Static Public Attributes inherited from ConditionMixin
 DEFAULT_ARGS = dict(CONDITION=())
 Constructor argument defaults.
 
 TOPIC_RGX = re.compile(r"<topic\s+([^\s><]+)\s*>")
 

Detailed Description

Produces messages from iterable or pushed data.

Definition at line 1276 of file inputs.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  args = None,
**  kwargs 
)
Parameters
argsarguments as namespace or dictionary, case-insensitive; or iterable yielding messages
args.topicROS topics to read if not all
args.typeROS message types to read if not all
args.skip_topicROS topics to skip
args.skip_typeROS message types to skip
args.start_timeearliest timestamp of messages to read
args.end_timelatest timestamp of messages to read
args.start_indexmessage index within topic to start from
args.end_indexmessage index within topic to stop at
args.uniqueemit messages that are unique in topic
args.select_fieldmessage fields to use for uniqueness if not all
args.noselect_fieldmessage fields to skip for uniqueness
args.nth_messageread every Nth message in topic, starting from first
args.nth_intervalminimum time interval between messages in topic, as seconds or ROS duration
args.conditionPython expressions that must evaluate as true for message to be processable, see ConditionMixin
args.iterableiterable yielding (topic, msg, stamp) or (topic, msg); yielding None signals end of content
kwargsany and all arguments as keyword overrides, case-insensitive

Reimplemented from Source.

Definition at line 1309 of file inputs.py.

Member Function Documentation

◆ close()

close (   self)

Closes current read() yielding, if any.

Reimplemented from Source.

Definition at line 1348 of file inputs.py.

◆ is_processable()

is_processable (   self,
  topic,
  msg,
  stamp,
  index = None 
)

Returns whether message passes source filters; registers status.

Reimplemented from Source.

Definition at line 1390 of file inputs.py.

◆ mark_queue()

mark_queue (   self,
  topic,
  msg,
  stamp 
)

Registers message produced from read_queue().

Definition at line 1371 of file inputs.py.

◆ push()

push (   self,
  topic,
  msg = None,
  stamp = None 
)

Pushes a message to be yielded from read().

Parameters
topictopic name, or None to signal end of content
msgROS message
stampmessage ROS timestamp, defaults to current wall time if None

Definition at line 1385 of file inputs.py.

◆ read()

read (   self)

Yields messages from iterable or pushed data, as (topic, msg, ROS timestamp).

Blocks until a message is available, or source is closed.

Reimplemented from Source.

Definition at line 1323 of file inputs.py.

◆ read_queue()

read_queue (   self)

Returns (topic, msg, stamp) from push queue, or None if no queue or message in queue is condition topic only.

Definition at line 1358 of file inputs.py.

◆ validate()

validate (   self)

Returns whether configured arguments are valid, prints error if not.

Reimplemented from Source.

Definition at line 1404 of file inputs.py.

Member Data Documentation

◆ DEFAULT_ARGS

DEFAULT_ARGS
static
Initial value:
= dict(TOPIC=(), TYPE=(), SKIP_TOPIC=(), SKIP_TYPE=(), START_TIME=None,
END_TIME=None, START_INDEX=None, END_INDEX=None, UNIQUE=False,
SELECT_FIELD=(), NOSELECT_FIELD=(), NTH_MESSAGE=1, NTH_INTERVAL=0,
CONDITION=(), ITERABLE=None)

Constructor argument defaults.

Definition at line 1280 of file inputs.py.

◆ valid

valid

Definition at line 1407 of file inputs.py.


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