obci.control.peer package

Submodules

obci.control.peer.config_defaults module

obci.control.peer.config_server module

class obci.control.peer.config_server.ConfigServer(addresses)[source]

Bases: obci.mx_legacy.clients.BaseMultiplexerServer

handle_get_config_params(message_obj)[source]
handle_launcher_command(message_obj)[source]
handle_message(mxmsg)[source]
handle_peer_ready(message_obj)[source]
handle_peers_ready_query(message_obj)[source]
handle_register_peer_config(message_obj)[source]
handle_unregister_peer_config(message_obj)[source]
handle_update_params(message_obj)[source]

obci.control.peer.configured_client module

class obci.control.peer.configured_client.ConfiguredClient(addresses, type, external_config_file=None)[source]

Bases: object

get_param(param_name)[source]
params_changed(params)[source]
ready()[source]
set_param(param_name, param_value)[source]
validate_params(params)[source]

obci.control.peer.configured_multiplexer_server module

class obci.control.peer.configured_multiplexer_server.ConfiguredMultiplexerServer(addresses, type=None, external_config_file=None)[source]

Bases: obci.mx_legacy.clients.BaseMultiplexerServer

bad_initialization_result(result, details)[source]
clean_up()[source]
get_param(param_name)[source]
loop()[source]
params_changed(params)[source]
ready()[source]
set_param(param_name, param_value)[source]
shut_down()[source]
validate_params(params)[source]

obci.control.peer.peer_cmd module

class obci.control.peer.peer_cmd.BasePeerCmdParser(add_help=True)[source]

Bases: object

configure_argparser(parser)[source]
parse_cmd(some_args=None)[source]
class obci.control.peer.peer_cmd.ConfigSourceAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: obci.control.peer.peer_cmd.PeerParamAction

class obci.control.peer.peer_cmd.ExtParamAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: obci.control.peer.peer_cmd.PeerParamAction

class obci.control.peer.peer_cmd.LaunchDepAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: obci.control.peer.peer_cmd.PeerParamAction

class obci.control.peer.peer_cmd.LocParamAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: obci.control.peer.peer_cmd.PeerParamAction

class obci.control.peer.peer_cmd.PeerCmd(add_help=True)[source]

Bases: obci.control.peer.peer_cmd.BasePeerCmdParser

class obci.control.peer.peer_cmd.PeerParamAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: argparse.Action

obci.control.peer.peer_cmd.path_to_file(string)[source]
obci.control.peer.peer_cmd.peer_args(vals)[source]
obci.control.peer.peer_cmd.peer_overwrites_cmd(pack)[source]
obci.control.peer.peer_cmd.peer_overwrites_pack(args)[source]

obci.control.peer.peer_config module

exception obci.control.peer.peer_config.ConfigOverwriteWarning(value=None)[source]

Bases: obci.control.peer.peer_config.ConfigWarning

exception obci.control.peer.peer_config.ConfigWarning(value=None)[source]

Bases: Warning

class obci.control.peer.peer_config.PeerConfig(peer_id=None, warn_overwrite=False)[source]

Bases: object

This class represents core configuration of an OpenBCI peer. It is meant to be used both as an output of a config parser and as a configuration holder for the running peer (wrapped in a controller with networking capabilities).

Peer configuration consists of local parameters, external parameters, config sources definitions and launch dependencies.

Local parameters:
param_name : value

are owned by the peer itself, whereas external parameters have to be obtained from other peers.

External parameter definition:
local_parameter_name : config_source_name.parameter_name

Config source names are symbolic names for dependencies. In run time real peer ID’s are assingned to those names; parameter_name is the remote parameter that is requested from source.

Launch dependencies are similar to config sources: the definitions are identical and symbolic name pool is common with config source names i.e. all names are global in the configuration file. Launch dependencies are used when we want to delay peer start until all dependncies report that they are ready to work.

add_external_param_def(param_name, reference)[source]

Store an external parameter definition. param_name is the local name of the parameter, reference is a string ‘source_name.remote_param_name’. Warns about overwriting definitions, especially when a previously local parameter becomes external.

add_local_param(param_name, value)[source]

Store a value of a local parameter. Warn when a parameter is overwritten, especially when a previously external parameter becomes local.

assign_id_to_name(sym_name, peer_id)[source]
config_ready()[source]

Return True if the configuration is usable, i.e. all used config sources have peer ID’s assigned and all external parameter values are already obtained.

config_sources

Configuration sources’ symbolic names and their assigned real peer IDs. (A dictionary)

config_sources_ready(details=None)[source]

Return True if all used config sources have peer ID’s assigned.

dep_ids

Peer ID’s of the launch dependencies and lists of their symbolic names. (A dictionary)

ext_param_defs

External parameter definitions. A definition consists of a local parameter name and a reference: pair of symbolic source name and remote parameter name.

external_params_ready(details=None)[source]

Return True if the values of all external parameters have been successfully obtained.

get_param(param_name)[source]

Return value of a parameter param_name. Parameter may be local or external.

has_param(param_name)[source]
launch_deps

Launch dependencies’ symbolic names and their assigned real peer IDs. (A dictionary)

launch_deps_ready(details=None)[source]

Return True if all launch deps have peer ID’s assigned.

local_params

Local parameters and values (dict)

param_values

A dictionary of all parameter values.

params_for_source(p_src)[source]

Return a list of parameters coming from this source (symbolic name).

ready_ext_params

External parameters with values succesfully obtained from sources.

set_config_source(source_name, peer_id='', _set_dep=True)[source]

Store a configuration symbolic source name and its real peer_id. Default ID is empty and can be updated later. Warns on overwrite.

set_launch_dependency(dep_name, peer_id='', _set_src=True)[source]
set_param(param_name, value)[source]
set_param_from_source(src_id, src_param, value)[source]

Store a value of a remote parameter. src_id - peer ID of the source src_param - remote parameter name value - parameter value

source_ids

Peer ID’s of the config sources and lists of their symbolic names. (A dictionary)

unassigned_config_sources()[source]

Return a list of configuration source names which do not have real peer ID assigned.

unassigned_launch_deps()[source]

Return a list of launch dependency names which do not have real peer ID assigned.

unset_params_for_source(p_src)[source]

Return a list of parameters coming from this source (symbolic name) which are not yet set.

unused_config_sources()[source]

Return a list of symbolic source names which are NOT referenced in external parameter definitions.

update_external_param_def(param_name, reference)[source]

Update external parameter definition. Works as add_external_param_def() but the definition should already be stored in PeerConfig. Otherwise raises ValueError.

update_local_param(param_name, value)[source]

Update local parameter. Works like add_local_param() but the parameter should already exist in PeerConfig. Otherwise raise ValueError.

used_config_sources()[source]

Return a list of symbolic source names which are referenced in external parameter definitions.

obci.control.peer.peer_config_parser module

exception obci.control.peer.peer_config_parser.ConfigSourceError[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParserError

exception obci.control.peer.peer_config_parser.IncompleteConfigSections[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParserError

exception obci.control.peer.peer_config_parser.ParserNotFoundError[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParserError

class obci.control.peer.peer_config_parser.PeerConfigParser[source]

Bases: object

check_complete(p_config)[source]
config_parts = ['config_sources', 'external_params', 'local_params', 'launch_dependencies']
parse(p_file, p_config_obj, update=False)[source]
class obci.control.peer.peer_config_parser.PeerConfigParserDict[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParserJSON

exception obci.control.peer.peer_config_parser.PeerConfigParserError[source]

Bases: Exception

class obci.control.peer.peer_config_parser.PeerConfigParserINI[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParser

class obci.control.peer.peer_config_parser.PeerConfigParserJSON[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParser

exception obci.control.peer.peer_config_parser.UnknownConfigSection[source]

Bases: obci.control.peer.peer_config_parser.PeerConfigParserError

obci.control.peer.peer_config_parser.parser(parser_type)[source]

obci.control.peer.peer_config_serializer module

class obci.control.peer.peer_config_serializer.PeerConfigSerializer[source]

Bases: object

config_parts = ['config_sources', 'launch_dependencies', 'external_params', 'local_params']
difference(p_base_config, p_config)[source]
serialize(p_config, p_file_obj)[source]
serialize_diff(p_base_config, p_config, p_file_obj)[source]
class obci.control.peer.peer_config_serializer.PeerConfigSerializerCmd[source]

Bases: obci.control.peer.peer_config_serializer.PeerConfigSerializer

class obci.control.peer.peer_config_serializer.PeerConfigSerializerINI[source]

Bases: obci.control.peer.peer_config_serializer.PeerConfigSerializer

class obci.control.peer.peer_config_serializer.PeerConfigSerializerJSON[source]

Bases: obci.control.peer.peer_config_serializer.PeerConfigSerializer

class obci.control.peer.peer_config_serializer.PeerConfigSerializerProtobuf[source]

Bases: obci.control.peer.peer_config_serializer.PeerConfigSerializer

obci.control.peer.peer_control module

exception obci.control.peer.peer_control.ConfigNotReadyError(value=None)[source]

Bases: obci.control.peer.peer_control.PeerConfigControlError

exception obci.control.peer.peer_control.NoPeerError(value=None)[source]

Bases: obci.control.peer.peer_control.PeerConfigControlError

exception obci.control.peer.peer_control.PeerConfigControlError(value=None)[source]

Bases: Exception

exception obci.control.peer.peer_control.PeerConfigControlWarning[source]

Bases: Warning

class obci.control.peer.peer_control.PeerControl(peer=None, connection=None, param_validate_method=None, param_change_method=None)[source]

Bases: object

config_ready()[source]
get_param(p_name)[source]
handle_config_message(mxmsg)[source]
has_param(p_name)[source]
initialize_config(connection)[source]
initialize_config_locally()[source]
param_values()[source]
process_command_line()[source]
register_config(connection)[source]
send_peer_ready(connection)[source]
set_param(p_name, p_value)[source]
true_val(value)[source]
exception obci.control.peer.peer_control.UnsupportedMessageType[source]

Bases: obci.control.peer.peer_control.PeerConfigControlWarning

Module contents