diff --git a/generate_protos b/generate_protos index 4a118cd..e56e185 100755 --- a/generate_protos +++ b/generate_protos @@ -1,10 +1,18 @@ #!/bin/bash + for FILE in schema/druncschema/*.proto; do echo "Generating protocols for ${FILE}" - python -m grpc_tools.protoc -I./schema/ --python_out=python_not_for_dunedaq/ --grpc_python_out=python_not_for_dunedaq/ ${FILE} - FILE_NAME=$(basename -- "$FILE") - CLASS_NAME="${FILE_NAME%.*}" + + python -m grpc_tools.protoc \ + --proto_path=./schema/ \ + --python_out=python_not_for_dunedaq/ \ + --grpc_python_out=python_not_for_dunedaq/ \ + --mypy_out=python_not_for_dunedaq/ \ + ${FILE} + + # FILE_NAME=$(basename -- "$FILE") + # CLASS_NAME="${FILE_NAME%.*}" # PY_OUT_FILE_NAME="python/druncschema/${CLASS_NAME}_pb2_grpc.py" # sed -i '' "/google/! s/import \(.*_pb2\)/import druncschema.\1/" ${PY_OUT_FILE_NAME} # PY_OUT_FILE_NAME="python/druncschema/${CLASS_NAME}_pb2.py" @@ -14,9 +22,15 @@ done for FILE in schema/druncschema/opmon/*.proto; do echo "Generating protocols for ${FILE}" - python -m grpc_tools.protoc -I./schema/ --python_out=python_not_for_dunedaq/ ${FILE} - FILE_NAME=$(basename -- "$FILE") - CLASS_NAME="${FILE_NAME%.*}" + + python -m grpc_tools.protoc \ + --proto_path=./schema/ \ + --python_out=python_not_for_dunedaq/ \ + --mypy_out=python_not_for_dunedaq/ \ + ${FILE} + + # FILE_NAME=$(basename -- "$FILE") + # CLASS_NAME="${FILE_NAME%.*}" # PY_OUT_FILE_NAME="python/druncschema/${CLASS_NAME}_pb2_grpc.py" # sed -i '' "/google/! s/import \(.*_pb2\)/import druncschema.\1/" ${PY_OUT_FILE_NAME} # PY_OUT_FILE_NAME="python/druncschema/${CLASS_NAME}_pb2.py" diff --git a/python_not_for_dunedaq/druncschema/controller_pb2.pyi b/python_not_for_dunedaq/druncschema/controller_pb2.pyi new file mode 100644 index 0000000..ff539d2 --- /dev/null +++ b/python_not_for_dunedaq/druncschema/controller_pb2.pyi @@ -0,0 +1,349 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.any_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _FSMResponseFlag: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _FSMResponseFlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FSMResponseFlag.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + FSM_EXECUTED_SUCCESSFULLY: _FSMResponseFlag.ValueType # 0 + FSM_FAILED: _FSMResponseFlag.ValueType # 1 + FSM_INVALID_TRANSITION: _FSMResponseFlag.ValueType # 2 + FSM_NOT_EXECUTED_EXCLUDED: _FSMResponseFlag.ValueType # 3 + FSM_NOT_EXECUTED_IN_ERROR: _FSMResponseFlag.ValueType # 4 + +class FSMResponseFlag(_FSMResponseFlag, metaclass=_FSMResponseFlagEnumTypeWrapper): ... + +FSM_EXECUTED_SUCCESSFULLY: FSMResponseFlag.ValueType # 0 +FSM_FAILED: FSMResponseFlag.ValueType # 1 +FSM_INVALID_TRANSITION: FSMResponseFlag.ValueType # 2 +FSM_NOT_EXECUTED_EXCLUDED: FSMResponseFlag.ValueType # 3 +FSM_NOT_EXECUTED_IN_ERROR: FSMResponseFlag.ValueType # 4 +global___FSMResponseFlag = FSMResponseFlag + +@typing.final +class AddressedCommand(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMMAND_NAME_FIELD_NUMBER: builtins.int + COMMAND_DATA_FIELD_NUMBER: builtins.int + TARGET_FIELD_NUMBER: builtins.int + EXECUTE_ALONG_PATH_FIELD_NUMBER: builtins.int + EXECUTE_ON_ALL_SUBSEQUENT_CHILDREN_IN_PATH_FIELD_NUMBER: builtins.int + command_name: builtins.str + target: builtins.str + execute_along_path: builtins.bool + execute_on_all_subsequent_children_in_path: builtins.bool + @property + def command_data(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + command_name: builtins.str = ..., + command_data: google.protobuf.any_pb2.Any | None = ..., + target: builtins.str = ..., + execute_along_path: builtins.bool = ..., + execute_on_all_subsequent_children_in_path: builtins.bool = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_command_data", b"_command_data", "command_data", b"command_data", "command_name", b"command_name", "execute_along_path", b"execute_along_path", "execute_on_all_subsequent_children_in_path", b"execute_on_all_subsequent_children_in_path", "target", b"target"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_command_data", b"_command_data"]) -> typing.Literal["command_data"] | None: ... + +global___AddressedCommand = AddressedCommand + +@typing.final +class FSMCommand(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ArgumentsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + @property + def value(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + COMMAND_NAME_FIELD_NUMBER: builtins.int + ARGUMENTS_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + command_name: builtins.str + data: builtins.str + """unfortunately, this is just some plain old json data introduced by the fsm interfaces""" + @property + def arguments(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]: ... + def __init__( + self, + *, + command_name: builtins.str = ..., + arguments: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None = ..., + data: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_data", b"_data", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_data", b"_data", "arguments", b"arguments", "command_name", b"command_name", "data", b"data"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_data", b"_data"]) -> typing.Literal["data"] | None: ... + +global___FSMCommand = FSMCommand + +@typing.final +class FSMCommandResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FLAG_FIELD_NUMBER: builtins.int + COMMAND_NAME_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + flag: global___FSMResponseFlag.ValueType + command_name: builtins.str + @property + def data(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + flag: global___FSMResponseFlag.ValueType = ..., + command_name: builtins.str = ..., + data: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["command_name", b"command_name", "data", b"data", "flag", b"flag"]) -> None: ... + +global___FSMCommandResponse = FSMCommandResponse + +@typing.final +class Argument(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Presence: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PresenceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Argument._Presence.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MANDATORY: Argument._Presence.ValueType # 0 + OPTIONAL: Argument._Presence.ValueType # 1 + + class Presence(_Presence, metaclass=_PresenceEnumTypeWrapper): ... + MANDATORY: Argument.Presence.ValueType # 0 + OPTIONAL: Argument.Presence.ValueType # 1 + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Argument._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + INT: Argument._Type.ValueType # 0 + FLOAT: Argument._Type.ValueType # 1 + STRING: Argument._Type.ValueType # 2 + BOOL: Argument._Type.ValueType # 3 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + INT: Argument.Type.ValueType # 0 + FLOAT: Argument.Type.ValueType # 1 + STRING: Argument.Type.ValueType # 2 + BOOL: Argument.Type.ValueType # 3 + + NAME_FIELD_NUMBER: builtins.int + PRESENCE_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + DEFAULT_VALUE_FIELD_NUMBER: builtins.int + CHOICES_FIELD_NUMBER: builtins.int + HELP_FIELD_NUMBER: builtins.int + name: builtins.str + presence: global___Argument.Presence.ValueType + type: global___Argument.Type.ValueType + help: builtins.str + @property + def default_value(self) -> google.protobuf.any_pb2.Any: ... + @property + def choices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]: ... + def __init__( + self, + *, + name: builtins.str = ..., + presence: global___Argument.Presence.ValueType = ..., + type: global___Argument.Type.ValueType = ..., + default_value: google.protobuf.any_pb2.Any | None = ..., + choices: collections.abc.Iterable[google.protobuf.any_pb2.Any] | None = ..., + help: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_default_value", b"_default_value", "default_value", b"default_value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_default_value", b"_default_value", "choices", b"choices", "default_value", b"default_value", "help", b"help", "name", b"name", "presence", b"presence", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_default_value", b"_default_value"]) -> typing.Literal["default_value"] | None: ... + +global___Argument = Argument + +@typing.final +class FSMCommandDescription(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + DATA_TYPE_FIELD_NUMBER: builtins.int + HELP_FIELD_NUMBER: builtins.int + RETURN_TYPE_FIELD_NUMBER: builtins.int + ARGUMENTS_FIELD_NUMBER: builtins.int + name: builtins.str + help: builtins.str + return_type: builtins.str + @property + def data_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Argument]: ... + def __init__( + self, + *, + name: builtins.str = ..., + data_type: collections.abc.Iterable[builtins.str] | None = ..., + help: builtins.str = ..., + return_type: builtins.str = ..., + arguments: collections.abc.Iterable[global___Argument] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["arguments", b"arguments", "data_type", b"data_type", "help", b"help", "name", b"name", "return_type", b"return_type"]) -> None: ... + +global___FSMCommandDescription = FSMCommandDescription + +@typing.final +class FSMSequence(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + COMMAND_IDS_FIELD_NUMBER: builtins.int + id: builtins.str + @property + def command_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + id: builtins.str = ..., + command_ids: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["command_ids", b"command_ids", "id", b"id"]) -> None: ... + +global___FSMSequence = FSMSequence + +@typing.final +class FSMCommandsDescription(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TYPE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + SESSION_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + SEQUENCES_FIELD_NUMBER: builtins.int + type: builtins.str + name: builtins.str + session: builtins.str + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMCommandDescription]: ... + @property + def sequences(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FSMSequence]: ... + def __init__( + self, + *, + type: builtins.str = ..., + name: builtins.str = ..., + session: builtins.str | None = ..., + commands: collections.abc.Iterable[global___FSMCommandDescription] | None = ..., + sequences: collections.abc.Iterable[global___FSMSequence] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_session", b"_session", "session", b"session"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_session", b"_session", "commands", b"commands", "name", b"name", "sequences", b"sequences", "session", b"session", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... + +global___FSMCommandsDescription = FSMCommandsDescription + +@typing.final +class Status(google.protobuf.message.Message): + """Contains dynamic system descriptors""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATE_FIELD_NUMBER: builtins.int + SUB_STATE_FIELD_NUMBER: builtins.int + IN_ERROR_FIELD_NUMBER: builtins.int + INCLUDED_FIELD_NUMBER: builtins.int + RUN_INFO_FIELD_NUMBER: builtins.int + state: builtins.str + sub_state: builtins.str + in_error: builtins.bool + included: builtins.bool + @property + def run_info(self) -> global___RunInfo: ... + def __init__( + self, + *, + state: builtins.str = ..., + sub_state: builtins.str = ..., + in_error: builtins.bool = ..., + included: builtins.bool = ..., + run_info: global___RunInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_run_info", b"_run_info", "run_info", b"run_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_run_info", b"_run_info", "in_error", b"in_error", "included", b"included", "run_info", b"run_info", "state", b"state", "sub_state", b"sub_state"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_run_info", b"_run_info"]) -> typing.Literal["run_info"] | None: ... + +global___Status = Status + +@typing.final +class RunInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RUN_TYPE_FIELD_NUMBER: builtins.int + TRIGGER_RATE_FIELD_NUMBER: builtins.int + RUN_NUMBER_FIELD_NUMBER: builtins.int + DISABLE_DATA_STORAGE_FIELD_NUMBER: builtins.int + RUN_TIME_AT_START_FIELD_NUMBER: builtins.int + RUN_TIME_SINCE_START_FIELD_NUMBER: builtins.int + RUN_CONFIG_FILE_FIELD_NUMBER: builtins.int + RUN_CONFIG_NAME_FIELD_NUMBER: builtins.int + run_type: builtins.str + trigger_rate: builtins.float + run_number: builtins.int + disable_data_storage: builtins.bool + run_time_at_start: builtins.int + run_time_since_start: builtins.int + run_config_file: builtins.str + run_config_name: builtins.str + def __init__( + self, + *, + run_type: builtins.str = ..., + trigger_rate: builtins.float = ..., + run_number: builtins.int = ..., + disable_data_storage: builtins.bool = ..., + run_time_at_start: builtins.int = ..., + run_time_since_start: builtins.int = ..., + run_config_file: builtins.str = ..., + run_config_name: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["disable_data_storage", b"disable_data_storage", "run_config_file", b"run_config_file", "run_config_name", b"run_config_name", "run_number", b"run_number", "run_time_at_start", b"run_time_at_start", "run_time_since_start", b"run_time_since_start", "run_type", b"run_type", "trigger_rate", b"trigger_rate"]) -> None: ... + +global___RunInfo = RunInfo diff --git a/python_not_for_dunedaq/druncschema/description_pb2.py b/python_not_for_dunedaq/druncschema/description_pb2.py new file mode 100644 index 0000000..b49b420 --- /dev/null +++ b/python_not_for_dunedaq/druncschema/description_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: druncschema/description.proto +# Protobuf Python Version: 5.28.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'druncschema/description.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 +from druncschema import token_pb2 as druncschema_dot_token__pb2 +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64runcschema/description.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\xf3\x01\n\x0eOldDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x03 \x01(\t\x12\x11\n\x04info\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x06 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x07 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x42\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcast\"\x80\x03\n\x0b\x44\x65scription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12)\n\x05token\x18\x03 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x11\n\x04info\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x08 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x12/\n\x04\x66lag\x18\t \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12\x32\n\x08\x63hildren\x18\n \x03(\x0b\x32 .dunedaq.druncschema.DescriptionB\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcastb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'druncschema.description_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_COMMANDDESCRIPTION']._serialized_start=142 + _globals['_COMMANDDESCRIPTION']._serialized_end=230 + _globals['_OLDDESCRIPTION']._serialized_start=233 + _globals['_OLDDESCRIPTION']._serialized_end=476 + _globals['_DESCRIPTION']._serialized_start=479 + _globals['_DESCRIPTION']._serialized_end=863 +# @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/description_pb2.pyi b/python_not_for_dunedaq/druncschema/description_pb2.pyi new file mode 100644 index 0000000..12e203a --- /dev/null +++ b/python_not_for_dunedaq/druncschema/description_pb2.pyi @@ -0,0 +1,136 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import druncschema.request_response_pb2 +import druncschema.token_pb2 +import google.protobuf.any_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class CommandDescription(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + DATA_TYPE_FIELD_NUMBER: builtins.int + HELP_FIELD_NUMBER: builtins.int + RETURN_TYPE_FIELD_NUMBER: builtins.int + name: builtins.str + help: builtins.str + return_type: builtins.str + @property + def data_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + name: builtins.str = ..., + data_type: collections.abc.Iterable[builtins.str] | None = ..., + help: builtins.str = ..., + return_type: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["data_type", b"data_type", "help", b"help", "name", b"name", "return_type", b"return_type"]) -> None: ... + +global___CommandDescription = CommandDescription + +@typing.final +class OldDescription(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TYPE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ENDPOINT_FIELD_NUMBER: builtins.int + INFO_FIELD_NUMBER: builtins.int + SESSION_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + BROADCAST_FIELD_NUMBER: builtins.int + type: builtins.str + name: builtins.str + endpoint: builtins.str + info: builtins.str + session: builtins.str + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDescription]: ... + @property + def broadcast(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + type: builtins.str = ..., + name: builtins.str = ..., + endpoint: builtins.str = ..., + info: builtins.str | None = ..., + session: builtins.str | None = ..., + commands: collections.abc.Iterable[global___CommandDescription] | None = ..., + broadcast: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "info", b"info", "session", b"session"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "commands", b"commands", "endpoint", b"endpoint", "info", b"info", "name", b"name", "session", b"session", "type", b"type"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_broadcast", b"_broadcast"]) -> typing.Literal["broadcast"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_info", b"_info"]) -> typing.Literal["info"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... + +global___OldDescription = OldDescription + +@typing.final +class Description(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TYPE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + ENDPOINT_FIELD_NUMBER: builtins.int + INFO_FIELD_NUMBER: builtins.int + SESSION_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + BROADCAST_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + CHILDREN_FIELD_NUMBER: builtins.int + type: builtins.str + name: builtins.str + endpoint: builtins.str + info: builtins.str + session: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDescription]: ... + @property + def broadcast(self) -> google.protobuf.any_pb2.Any: ... + @property + def children(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Description]: ... + def __init__( + self, + *, + type: builtins.str = ..., + name: builtins.str = ..., + token: druncschema.token_pb2.Token | None = ..., + endpoint: builtins.str = ..., + info: builtins.str | None = ..., + session: builtins.str | None = ..., + commands: collections.abc.Iterable[global___CommandDescription] | None = ..., + broadcast: google.protobuf.any_pb2.Any | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., + children: collections.abc.Iterable[global___Description] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "info", b"info", "session", b"session", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "children", b"children", "commands", b"commands", "endpoint", b"endpoint", "flag", b"flag", "info", b"info", "name", b"name", "session", b"session", "token", b"token", "type", b"type"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_broadcast", b"_broadcast"]) -> typing.Literal["broadcast"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_info", b"_info"]) -> typing.Literal["info"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... + +global___Description = Description diff --git a/python_not_for_dunedaq/druncschema/description_pb2_grpc.py b/python_not_for_dunedaq/druncschema/description_pb2_grpc.py new file mode 100644 index 0000000..b48a865 --- /dev/null +++ b/python_not_for_dunedaq/druncschema/description_pb2_grpc.py @@ -0,0 +1,24 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in druncschema/description_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi b/python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi index d3ed87a..311c93c 100644 --- a/python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/opmon/generic_pb2.pyi @@ -18,10 +18,18 @@ class RunInfo(google.protobuf.message.Message): TRIGGER_RATE_FIELD_NUMBER: builtins.int RUN_NUMBER_FIELD_NUMBER: builtins.int DISABLE_DATA_STORAGE_FIELD_NUMBER: builtins.int + RUN_TIME_AT_START_FIELD_NUMBER: builtins.int + RUN_TIME_SINCE_START_FIELD_NUMBER: builtins.int + RUN_CONFIG_FILE_FIELD_NUMBER: builtins.int + RUN_CONFIG_NAME_FIELD_NUMBER: builtins.int run_type: builtins.str trigger_rate: builtins.float run_number: builtins.int disable_data_storage: builtins.bool + run_time_at_start: builtins.int + run_time_since_start: builtins.int + run_config_file: builtins.str + run_config_name: builtins.str def __init__( self, *, @@ -29,7 +37,11 @@ class RunInfo(google.protobuf.message.Message): trigger_rate: builtins.float = ..., run_number: builtins.int = ..., disable_data_storage: builtins.bool = ..., + run_time_at_start: builtins.int = ..., + run_time_since_start: builtins.int = ..., + run_config_file: builtins.str = ..., + run_config_name: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["disable_data_storage", b"disable_data_storage", "run_number", b"run_number", "run_type", b"run_type", "trigger_rate", b"trigger_rate"]) -> None: ... + def ClearField(self, field_name: typing.Literal["disable_data_storage", b"disable_data_storage", "run_config_file", b"run_config_file", "run_config_name", b"run_config_name", "run_number", b"run_number", "run_time_at_start", b"run_time_at_start", "run_time_since_start", b"run_time_since_start", "run_type", b"run_type", "trigger_rate", b"trigger_rate"]) -> None: ... global___RunInfo = RunInfo diff --git a/python_not_for_dunedaq/druncschema/process_manager_pb2.pyi b/python_not_for_dunedaq/druncschema/process_manager_pb2.pyi index 9c82139..0bb7c3b 100644 --- a/python_not_for_dunedaq/druncschema/process_manager_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/process_manager_pb2.pyi @@ -131,24 +131,25 @@ class LogRequest(google.protobuf.message.Message): global___LogRequest = LogRequest @typing.final -class LogLine(google.protobuf.message.Message): +class LogLines(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor UUID_FIELD_NUMBER: builtins.int - LINE_FIELD_NUMBER: builtins.int - line: builtins.str + LINES_FIELD_NUMBER: builtins.int @property def uuid(self) -> global___ProcessUUID: ... + @property + def lines(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... def __init__( self, *, uuid: global___ProcessUUID | None = ..., - line: builtins.str = ..., + lines: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["uuid", b"uuid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["line", b"line", "uuid", b"uuid"]) -> None: ... + def ClearField(self, field_name: typing.Literal["lines", b"lines", "uuid", b"uuid"]) -> None: ... -global___LogLine = LogLine +global___LogLines = LogLines @typing.final class ProcessUUID(google.protobuf.message.Message): diff --git a/python_not_for_dunedaq/druncschema/request_response_pb2.py b/python_not_for_dunedaq/druncschema/request_response_pb2.py index 0a923c1..a3c05d8 100644 --- a/python_not_for_dunedaq/druncschema/request_response_pb2.py +++ b/python_not_for_dunedaq/druncschema/request_response_pb2.py @@ -26,21 +26,17 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"druncschema/request_response.proto\x12\x13\x64unedaq.druncschema\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"f\n\x07Request\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x42\x07\n\x05_data\"\xd7\x01\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\'\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12/\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.ResponseB\x07\n\x05_data\"X\n\x12\x43ommandDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tdata_type\x18\x02 \x03(\t\x12\x0c\n\x04help\x18\x03 \x01(\t\x12\x13\n\x0breturn_type\x18\x04 \x01(\t\"\xf0\x01\n\x0b\x44\x65scription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x03 \x01(\t\x12\x11\n\x04info\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07session\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x39\n\x08\x63ommands\x18\x06 \x03(\x0b\x32\'.dunedaq.druncschema.CommandDescription\x12,\n\tbroadcast\x18\x07 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02\x88\x01\x01\x42\x07\n\x05_infoB\n\n\x08_sessionB\x0c\n\n_broadcast*\xb6\x02\n\x0cResponseFlag\x12\x19\n\x15\x45XECUTED_SUCCESSFULLY\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12 \n\x1cNOT_EXECUTED_NOT_IMPLEMENTED\x10\x02\x12\x1f\n\x1bNOT_EXECUTED_NOT_IN_CONTROL\x10\x03\x12\x1f\n\x1bNOT_EXECUTED_NOT_AUTHORISED\x10\x04\x12\x1e\n\x1aNOT_EXECUTED_NODE_IN_ERROR\x10\x05\x12\x1a\n\x16\x44RUNC_EXCEPTION_THROWN\x10\x06\x12\x1e\n\x1aUNHANDLED_EXCEPTION_THROWN\x10\x07\x12#\n\x1fNOT_EXECUTED_BAD_REQUEST_FORMAT\x10\x08\x12\x1a\n\x16NOT_EXECUTED_NOT_READY\x10\tb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"druncschema/request_response.proto\x12\x13\x64unedaq.druncschema\x1a\x17\x64runcschema/token.proto\x1a\x19google/protobuf/any.proto\"f\n\x07Request\x12)\n\x05token\x18\x01 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x42\x07\n\x05_data\"\xd7\x01\n\x08Response\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\'\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x88\x01\x01\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\x12/\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x1d.dunedaq.druncschema.ResponseB\x07\n\x05_data*\xb6\x02\n\x0cResponseFlag\x12\x19\n\x15\x45XECUTED_SUCCESSFULLY\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12 \n\x1cNOT_EXECUTED_NOT_IMPLEMENTED\x10\x02\x12\x1f\n\x1bNOT_EXECUTED_NOT_IN_CONTROL\x10\x03\x12\x1f\n\x1bNOT_EXECUTED_NOT_AUTHORISED\x10\x04\x12\x1e\n\x1aNOT_EXECUTED_NODE_IN_ERROR\x10\x05\x12\x1a\n\x16\x44RUNC_EXCEPTION_THROWN\x10\x06\x12\x1e\n\x1aUNHANDLED_EXCEPTION_THROWN\x10\x07\x12#\n\x1fNOT_EXECUTED_BAD_REQUEST_FORMAT\x10\x08\x12\x1a\n\x16NOT_EXECUTED_NOT_READY\x10\tb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'druncschema.request_response_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: DESCRIPTOR._loaded_options = None - _globals['_RESPONSEFLAG']._serialized_start=767 - _globals['_RESPONSEFLAG']._serialized_end=1077 + _globals['_RESPONSEFLAG']._serialized_start=434 + _globals['_RESPONSEFLAG']._serialized_end=744 _globals['_REQUEST']._serialized_start=111 _globals['_REQUEST']._serialized_end=213 _globals['_RESPONSE']._serialized_start=216 _globals['_RESPONSE']._serialized_end=431 - _globals['_COMMANDDESCRIPTION']._serialized_start=433 - _globals['_COMMANDDESCRIPTION']._serialized_end=521 - _globals['_DESCRIPTION']._serialized_start=524 - _globals['_DESCRIPTION']._serialized_end=764 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/request_response_pb2.pyi b/python_not_for_dunedaq/druncschema/request_response_pb2.pyi index 7b6525a..0953c9e 100644 --- a/python_not_for_dunedaq/druncschema/request_response_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/request_response_pb2.pyi @@ -36,6 +36,7 @@ class _ResponseFlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._E DRUNC_EXCEPTION_THROWN: _ResponseFlag.ValueType # 6 UNHANDLED_EXCEPTION_THROWN: _ResponseFlag.ValueType # 7 NOT_EXECUTED_BAD_REQUEST_FORMAT: _ResponseFlag.ValueType # 8 + NOT_EXECUTED_NOT_READY: _ResponseFlag.ValueType # 9 class ResponseFlag(_ResponseFlag, metaclass=_ResponseFlagEnumTypeWrapper): ... @@ -48,6 +49,7 @@ NOT_EXECUTED_NODE_IN_ERROR: ResponseFlag.ValueType # 5 DRUNC_EXCEPTION_THROWN: ResponseFlag.ValueType # 6 UNHANDLED_EXCEPTION_THROWN: ResponseFlag.ValueType # 7 NOT_EXECUTED_BAD_REQUEST_FORMAT: ResponseFlag.ValueType # 8 +NOT_EXECUTED_NOT_READY: ResponseFlag.ValueType # 9 global___ResponseFlag = ResponseFlag @typing.final @@ -112,72 +114,3 @@ class Response(google.protobuf.message.Message): def WhichOneof(self, oneof_group: typing.Literal["_data", b"_data"]) -> typing.Literal["data"] | None: ... global___Response = Response - -@typing.final -class CommandDescription(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - DATA_TYPE_FIELD_NUMBER: builtins.int - HELP_FIELD_NUMBER: builtins.int - RETURN_TYPE_FIELD_NUMBER: builtins.int - name: builtins.str - help: builtins.str - return_type: builtins.str - @property - def data_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - name: builtins.str = ..., - data_type: collections.abc.Iterable[builtins.str] | None = ..., - help: builtins.str = ..., - return_type: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["data_type", b"data_type", "help", b"help", "name", b"name", "return_type", b"return_type"]) -> None: ... - -global___CommandDescription = CommandDescription - -@typing.final -class Description(google.protobuf.message.Message): - """Contains static system descriptors""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - ENDPOINT_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - SESSION_FIELD_NUMBER: builtins.int - COMMANDS_FIELD_NUMBER: builtins.int - BROADCAST_FIELD_NUMBER: builtins.int - type: builtins.str - name: builtins.str - endpoint: builtins.str - info: builtins.str - session: builtins.str - @property - def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDescription]: ... - @property - def broadcast(self) -> google.protobuf.any_pb2.Any: ... - def __init__( - self, - *, - type: builtins.str = ..., - name: builtins.str = ..., - endpoint: builtins.str = ..., - info: builtins.str | None = ..., - session: builtins.str | None = ..., - commands: collections.abc.Iterable[global___CommandDescription] | None = ..., - broadcast: google.protobuf.any_pb2.Any | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "info", b"info", "session", b"session"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_broadcast", b"_broadcast", "_info", b"_info", "_session", b"_session", "broadcast", b"broadcast", "commands", b"commands", "endpoint", b"endpoint", "info", b"info", "name", b"name", "session", b"session", "type", b"type"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_broadcast", b"_broadcast"]) -> typing.Literal["broadcast"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_info", b"_info"]) -> typing.Literal["info"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_session", b"_session"]) -> typing.Literal["session"] | None: ... - -global___Description = Description diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2.py b/python_not_for_dunedaq/druncschema/session_manager_pb2.py index 4232675..af66203 100644 --- a/python_not_for_dunedaq/druncschema/session_manager_pb2.py +++ b/python_not_for_dunedaq/druncschema/session_manager_pb2.py @@ -23,23 +23,25 @@ from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 +from druncschema import description_pb2 as druncschema_dot_description__pb2 +from druncschema import token_pb2 as druncschema_dot_token__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/session_manager.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\"-\n\tConfigKey\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\"D\n\rAllConfigKeys\x12\x33\n\x0b\x63onfig_keys\x18\x01 \x03(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\"_\n\rActiveSession\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x32\n\nconfig_key\x18\x03 \x01(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\"P\n\x11\x41llActiveSessions\x12;\n\x0f\x61\x63tive_sessions\x18\x01 \x03(\x0b\x32\".dunedaq.druncschema.ActiveSession2\xef\x03\n\x0eSessionManager\x12I\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12R\n\x11list_all_sessions\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12N\n\rstart_session\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12M\n\x0cstop_session\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12Q\n\x10list_all_configs\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x12L\n\x0bload_config\x12\x1c.dunedaq.druncschema.Request\x1a\x1d.dunedaq.druncschema.Response\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!druncschema/session_manager.proto\x12\x13\x64unedaq.druncschema\x1a\"druncschema/request_response.proto\x1a\x1d\x64runcschema/description.proto\x1a\x17\x64runcschema/token.proto\"-\n\tConfigKey\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\"\xae\x01\n\rAllConfigKeys\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12\x33\n\x0b\x63onfig_keys\x18\x03 \x03(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag\"_\n\rActiveSession\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x32\n\nconfig_key\x18\x03 \x01(\x0b\x32\x1e.dunedaq.druncschema.ConfigKey\"\xba\x01\n\x11\x41llActiveSessions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x05token\x18\x02 \x01(\x0b\x32\x1a.dunedaq.druncschema.Token\x12;\n\x0f\x61\x63tive_sessions\x18\x03 \x03(\x0b\x32\".dunedaq.druncschema.ActiveSession\x12/\n\x04\x66lag\x18\x04 \x01(\x0e\x32!.dunedaq.druncschema.ResponseFlag2\x93\x02\n\x0eSessionManager\x12L\n\x08\x64\x65scribe\x12\x1c.dunedaq.druncschema.Request\x1a .dunedaq.druncschema.Description\"\x00\x12[\n\x11list_all_sessions\x12\x1c.dunedaq.druncschema.Request\x1a&.dunedaq.druncschema.AllActiveSessions\"\x00\x12V\n\x10list_all_configs\x12\x1c.dunedaq.druncschema.Request\x1a\".dunedaq.druncschema.AllConfigKeys\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'druncschema.session_manager_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: DESCRIPTOR._loaded_options = None - _globals['_CONFIGKEY']._serialized_start=94 - _globals['_CONFIGKEY']._serialized_end=139 - _globals['_ALLCONFIGKEYS']._serialized_start=141 - _globals['_ALLCONFIGKEYS']._serialized_end=209 - _globals['_ACTIVESESSION']._serialized_start=211 - _globals['_ACTIVESESSION']._serialized_end=306 - _globals['_ALLACTIVESESSIONS']._serialized_start=308 - _globals['_ALLACTIVESESSIONS']._serialized_end=388 - _globals['_SESSIONMANAGER']._serialized_start=391 - _globals['_SESSIONMANAGER']._serialized_end=886 + _globals['_CONFIGKEY']._serialized_start=150 + _globals['_CONFIGKEY']._serialized_end=195 + _globals['_ALLCONFIGKEYS']._serialized_start=198 + _globals['_ALLCONFIGKEYS']._serialized_end=372 + _globals['_ACTIVESESSION']._serialized_start=374 + _globals['_ACTIVESESSION']._serialized_end=469 + _globals['_ALLACTIVESESSIONS']._serialized_start=472 + _globals['_ALLACTIVESESSIONS']._serialized_end=658 + _globals['_SESSIONMANAGER']._serialized_start=661 + _globals['_SESSIONMANAGER']._serialized_end=936 # @@protoc_insertion_point(module_scope) diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2.pyi b/python_not_for_dunedaq/druncschema/session_manager_pb2.pyi index 7b9b98f..23aa055 100644 --- a/python_not_for_dunedaq/druncschema/session_manager_pb2.pyi +++ b/python_not_for_dunedaq/druncschema/session_manager_pb2.pyi @@ -5,6 +5,8 @@ isort:skip_file import builtins import collections.abc +import druncschema.request_response_pb2 +import druncschema.token_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message @@ -34,15 +36,26 @@ global___ConfigKey = ConfigKey class AllConfigKeys(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int CONFIG_KEYS_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... @property def config_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigKey]: ... def __init__( self, *, + name: builtins.str = ..., + token: druncschema.token_pb2.Token | None = ..., config_keys: collections.abc.Iterable[global___ConfigKey] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["config_keys", b"config_keys"]) -> None: ... + def HasField(self, field_name: typing.Literal["token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["config_keys", b"config_keys", "flag", b"flag", "name", b"name", "token", b"token"]) -> None: ... global___AllConfigKeys = AllConfigKeys @@ -73,14 +86,25 @@ global___ActiveSession = ActiveSession class AllActiveSessions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + NAME_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int ACTIVE_SESSIONS_FIELD_NUMBER: builtins.int + FLAG_FIELD_NUMBER: builtins.int + name: builtins.str + flag: druncschema.request_response_pb2.ResponseFlag.ValueType + @property + def token(self) -> druncschema.token_pb2.Token: ... @property def active_sessions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ActiveSession]: ... def __init__( self, *, + name: builtins.str = ..., + token: druncschema.token_pb2.Token | None = ..., active_sessions: collections.abc.Iterable[global___ActiveSession] | None = ..., + flag: druncschema.request_response_pb2.ResponseFlag.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["active_sessions", b"active_sessions"]) -> None: ... + def HasField(self, field_name: typing.Literal["token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["active_sessions", b"active_sessions", "flag", b"flag", "name", b"name", "token", b"token"]) -> None: ... global___AllActiveSessions = AllActiveSessions diff --git a/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py b/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py index 7245590..ef72979 100644 --- a/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py +++ b/python_not_for_dunedaq/druncschema/session_manager_pb2_grpc.py @@ -3,7 +3,9 @@ import grpc import warnings +from druncschema import description_pb2 as druncschema_dot_description__pb2 from druncschema import request_response_pb2 as druncschema_dot_request__response__pb2 +from druncschema import session_manager_pb2 as druncschema_dot_session__manager__pb2 GRPC_GENERATED_VERSION = '1.68.0' GRPC_VERSION = grpc.__version__ @@ -37,32 +39,17 @@ def __init__(self, channel): self.describe = channel.unary_unary( '/dunedaq.druncschema.SessionManager/describe', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + response_deserializer=druncschema_dot_description__pb2.Description.FromString, _registered_method=True) self.list_all_sessions = channel.unary_unary( '/dunedaq.druncschema.SessionManager/list_all_sessions', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, - _registered_method=True) - self.start_session = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/start_session', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, - _registered_method=True) - self.stop_session = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/stop_session', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + response_deserializer=druncschema_dot_session__manager__pb2.AllActiveSessions.FromString, _registered_method=True) self.list_all_configs = channel.unary_unary( '/dunedaq.druncschema.SessionManager/list_all_configs', request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, - _registered_method=True) - self.load_config = channel.unary_unary( - '/dunedaq.druncschema.SessionManager/load_config', - request_serializer=druncschema_dot_request__response__pb2.Request.SerializeToString, - response_deserializer=druncschema_dot_request__response__pb2.Response.FromString, + response_deserializer=druncschema_dot_session__manager__pb2.AllConfigKeys.FromString, _registered_method=True) @@ -81,62 +68,29 @@ def list_all_sessions(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def start_session(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def stop_session(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def list_all_configs(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def load_config(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def add_SessionManagerServicer_to_server(servicer, server): rpc_method_handlers = { 'describe': grpc.unary_unary_rpc_method_handler( servicer.describe, request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + response_serializer=druncschema_dot_description__pb2.Description.SerializeToString, ), 'list_all_sessions': grpc.unary_unary_rpc_method_handler( servicer.list_all_sessions, request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, - ), - 'start_session': grpc.unary_unary_rpc_method_handler( - servicer.start_session, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, - ), - 'stop_session': grpc.unary_unary_rpc_method_handler( - servicer.stop_session, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + response_serializer=druncschema_dot_session__manager__pb2.AllActiveSessions.SerializeToString, ), 'list_all_configs': grpc.unary_unary_rpc_method_handler( servicer.list_all_configs, request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, - ), - 'load_config': grpc.unary_unary_rpc_method_handler( - servicer.load_config, - request_deserializer=druncschema_dot_request__response__pb2.Request.FromString, - response_serializer=druncschema_dot_request__response__pb2.Response.SerializeToString, + response_serializer=druncschema_dot_session__manager__pb2.AllConfigKeys.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -165,7 +119,7 @@ def describe(request, target, '/dunedaq.druncschema.SessionManager/describe', druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_description__pb2.Description.FromString, options, channel_credentials, insecure, @@ -192,61 +146,7 @@ def list_all_sessions(request, target, '/dunedaq.druncschema.SessionManager/list_all_sessions', druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def start_session(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/dunedaq.druncschema.SessionManager/start_session', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def stop_session(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/dunedaq.druncschema.SessionManager/stop_session', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_session__manager__pb2.AllActiveSessions.FromString, options, channel_credentials, insecure, @@ -273,34 +173,7 @@ def list_all_configs(request, target, '/dunedaq.druncschema.SessionManager/list_all_configs', druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def load_config(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/dunedaq.druncschema.SessionManager/load_config', - druncschema_dot_request__response__pb2.Request.SerializeToString, - druncschema_dot_request__response__pb2.Response.FromString, + druncschema_dot_session__manager__pb2.AllConfigKeys.FromString, options, channel_credentials, insecure, diff --git a/schema/druncschema/description.proto b/schema/druncschema/description.proto new file mode 100644 index 0000000..d30d69e --- /dev/null +++ b/schema/druncschema/description.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package dunedaq.druncschema; + +import "druncschema/request_response.proto"; +import "druncschema/token.proto"; +import "google/protobuf/any.proto"; + +message CommandDescription { + string name = 1; + repeated string data_type = 2; + string help = 3; + string return_type = 4; +} + +message OldDescription { + string type = 1; + string name = 2; + string endpoint = 3; + optional string info = 4; + optional string session = 5; + repeated CommandDescription commands = 6; + optional google.protobuf.Any broadcast = 7; +} + +message Description { + string type = 1; + string name = 2; + Token token = 3; + string endpoint = 4; + optional string info = 5; + optional string session = 6; + repeated CommandDescription commands = 7; + optional google.protobuf.Any broadcast = 8; + ResponseFlag flag = 9; + repeated Description children = 10; +} diff --git a/schema/druncschema/request_response.proto b/schema/druncschema/request_response.proto index a298c47..ed0b61b 100644 --- a/schema/druncschema/request_response.proto +++ b/schema/druncschema/request_response.proto @@ -9,6 +9,7 @@ message Request { Token token = 1; optional google.protobuf.Any data = 2; } + enum ResponseFlag { EXECUTED_SUCCESSFULLY = 0; FAILED = 1; @@ -29,21 +30,3 @@ message Response { // The "decoded" version (i.e. without Any) of this message i ResponseFlag flag = 4; // whether the command was successfull ON SELF ONLY! repeated Response children = 5; // a map of the response flags of the children } - -message CommandDescription { - string name = 1; - repeated string data_type = 2; - string help = 3; - string return_type = 4; -} - - -message Description { // Contains static system descriptors - string type = 1; - string name = 2; - string endpoint = 3; - optional string info = 4; - optional string session = 5; - repeated CommandDescription commands = 6; - optional google.protobuf.Any broadcast = 7; -} diff --git a/schema/druncschema/session_manager.proto b/schema/druncschema/session_manager.proto index 106807a..d0c0848 100644 --- a/schema/druncschema/session_manager.proto +++ b/schema/druncschema/session_manager.proto @@ -3,14 +3,13 @@ syntax = "proto3"; package dunedaq.druncschema; import "druncschema/request_response.proto"; +import "druncschema/description.proto"; +import "druncschema/token.proto"; service SessionManager { - rpc describe (Request) returns (Response) {} - rpc list_all_sessions (Request) returns (Response) {} - rpc start_session (Request) returns (Response) {} - rpc stop_session (Request) returns (Response) {} - rpc list_all_configs (Request) returns (Response) {} - rpc load_config (Request) returns (Response) {} + rpc describe (Request) returns (Description) {} + rpc list_all_sessions (Request) returns (AllActiveSessions) {} + rpc list_all_configs (Request) returns (AllConfigKeys) {} } message ConfigKey { @@ -19,7 +18,10 @@ message ConfigKey { } message AllConfigKeys { - repeated ConfigKey config_keys = 1; + string name = 1; + Token token = 2; + repeated ConfigKey config_keys = 3; + ResponseFlag flag = 4; } message ActiveSession { @@ -29,5 +31,8 @@ message ActiveSession { } message AllActiveSessions { - repeated ActiveSession active_sessions = 1; + string name = 1; + Token token = 2; + repeated ActiveSession active_sessions = 3; + ResponseFlag flag = 4; }