openpectus.aggregator.aggregator
Attributes
Classes
Module Contents
- openpectus.aggregator.aggregator.logger
- openpectus.aggregator.aggregator.EngineDataMap
- class openpectus.aggregator.aggregator.FromEngine(engine_data_map, publisher, webpush_publisher)
- Parameters:
engine_data_map (EngineDataMap)
publisher (openpectus.aggregator.frontend_publisher.FrontendPublisher)
webpush_publisher (openpectus.aggregator.webpush_publisher.WebPushPublisher)
- _engine_data_map
- publisher
- webpush_publisher
- __str__()
- Return type:
str
- register_engine_data(engine_data)
- Parameters:
engine_data (openpectus.aggregator.models.EngineData)
- _try_restore_reconnected_engine_data(engine_data)
- Parameters:
engine_data (openpectus.aggregator.models.EngineData)
- engine_connected(engine_id)
- Parameters:
engine_id (str)
- engine_disconnected(engine_id)
- Parameters:
engine_id (str)
- run_started(msg)
- Parameters:
- run_stopped(msg)
- Parameters:
- uod_info_changed(engine_id, readings, commands, uod_definition, plot_configuration, hardware_str, required_roles, data_log_interval_seconds)
- Parameters:
engine_id (str)
readings (list[openpectus.aggregator.models.ReadingInfo])
commands (list[openpectus.aggregator.models.CommandInfo])
uod_definition (openpectus.aggregator.models.UodDefinition)
plot_configuration (openpectus.aggregator.models.PlotConfiguration)
hardware_str (str)
required_roles (set[str])
data_log_interval_seconds (float)
- tag_values_changed(engine_id, changed_tag_values)
- Parameters:
engine_id (str)
changed_tag_values (list[openpectus.aggregator.models.TagValue])
- abstract __run_id_changed(plot_log_repo, recent_run_repo, engine_data, run_id_tag)
Handles persistance related to start and end of a run
- Parameters:
plot_log_repo (openpectus.aggregator.data.repository.PlotLogRepository)
recent_run_repo (openpectus.aggregator.data.repository.RecentRunRepository)
engine_data (openpectus.aggregator.models.EngineData)
run_id_tag (openpectus.aggregator.models.TagValue)
- _persist_tag_values(engine_data, plot_log_repo)
- Parameters:
engine_data (openpectus.aggregator.models.EngineData)
plot_log_repo (openpectus.aggregator.data.repository.PlotLogRepository)
- runlog_changed(engine_id, run_id, runlog)
- Parameters:
engine_id (str)
run_id (str)
runlog (openpectus.aggregator.models.RunLog)
- control_state_changed(engine_id, control_state)
- Parameters:
engine_id (str)
control_state (openpectus.aggregator.models.ControlState)
- method_state_changed(engine_id, method_state)
- Parameters:
engine_id (str)
method_state (openpectus.aggregator.models.MethodState)
- error_log_changed(engine_id, error_log)
- Parameters:
engine_id (str)
error_log (openpectus.aggregator.models.ErrorLog)
- publish_engine_disconnected_notification(engine_id)
- Parameters:
engine_id (str)
- class openpectus.aggregator.aggregator.FromFrontend(engine_data_map, dispatcher, publisher, webpush_publisher)
- Parameters:
engine_data_map (EngineDataMap)
dispatcher (openpectus.protocol.aggregator_dispatcher.AggregatorDispatcher)
publisher (openpectus.aggregator.frontend_publisher.FrontendPublisher)
webpush_publisher (openpectus.aggregator.webpush_publisher.WebPushPublisher)
- _engine_data_map
- dispatcher
- publisher
- webpush_publisher
- dead_man_switch_user_ids: dict[str, str]
- __str__()
- Return type:
str
- async save_method(engine_id, method, user)
- Parameters:
engine_id (str)
method (openpectus.aggregator.models.Method)
- Return type:
int
- async request_cancel(engine_id, line_id, user)
- Parameters:
line_id (str)
- Return type:
bool
- async request_force(engine_id, line_id, user)
- Parameters:
line_id (str)
- Return type:
bool
- async user_subscribed_pubsub(subscriber_id, topics)
- Parameters:
subscriber_id (str)
topics (list[str])
- async on_ws_disconnect(subscriber_id)
- Parameters:
subscriber_id (str)
- async register_active_user(engine_id, user_id, user_name)
- Parameters:
engine_id (str)
user_id (str)
user_name (str)
- async unregister_active_user(engine_id, user_id)
- Parameters:
engine_id (str)
user_id (str)
- webpush_user_subscribed(subscription, user_id)
- Parameters:
subscription (webpush.WebPushSubscription)
user_id (str | None)
- Return type:
bool
- webpush_notification_preferences_requested(user_id, user_roles)
- Parameters:
user_id (str | None)
user_roles (set[str])
- Return type:
- webpush_notification_preferences_posted(preferences)
- Parameters:
preferences (openpectus.aggregator.models.WebPushNotificationPreferences)
- async add_contributor(unit_id, user_id, user_name)
- Parameters:
unit_id (str)
user_id (str | None)
user_name (str)
- async excute_command(unit_id, user_id, user_name, msg)
- Parameters:
unit_id (str)
user_id (str | None)
user_name (str)
- async excute_control_button_command(unit_id, user_id, user_name, msg)
- Parameters:
unit_id (str)
user_id (str | None)
user_name (str)
msg (openpectus.protocol.aggregator_messages.ExecuteControlCommandMsg)
- publish_notification_test(user_id)
- Parameters:
user_id (None | str)
- publish_new_contributor_notification(engine_id, contributor)
- Parameters:
engine_id (str)
contributor (openpectus.aggregator.models.Contributor)
- class openpectus.aggregator.aggregator.Aggregator(dispatcher, publisher, webpush_publisher, secret='')
- Parameters:
dispatcher (openpectus.protocol.aggregator_dispatcher.AggregatorDispatcher)
publisher (openpectus.aggregator.frontend_publisher.FrontendPublisher)
webpush_publisher (openpectus.aggregator.webpush_publisher.WebPushPublisher)
secret (str)
- _engine_data_map: EngineDataMap
all client data except channels, indexed by engine_id
- dispatcher
- from_frontend
- from_engine
- secret = ''
- webpush_publisher
- __str__()
- Return type:
str
- shutdown()
- create_engine_id(register_engine_msg)
Defines the generation of the engine_id that is uniquely assigned to each engine.
- TODO: Considerations:
engine name should be machine name
uod hash should probably be included
Implications of the registration process - historical data; we should not corrupt historical data by accidentially reusing engine_id - number of cards shown; we should not show many irrelevant cards in frontend of superseeded engine_ids
- Parameters:
register_engine_msg (openpectus.protocol.engine_messages.RegisterEngineMsg)
- get_registered_engine_data(engine_id)
- Parameters:
engine_id (str)
- get_all_registered_engine_data()
- Return type:
- has_registered_engine_id(engine_id)
- Parameters:
engine_id (str)
- Return type:
bool