fixed protobuf generation to avoid grpc generation for files with no definitions, added service config tab display to coretk
This commit is contained in:
parent
a4f3abf27c
commit
83e7853821
9 changed files with 65 additions and 33 deletions
|
@ -3,7 +3,7 @@ import time
|
|||
from typing import Any, Dict, List, Tuple, Type
|
||||
|
||||
from core import utils
|
||||
from core.api.grpc import core_pb2
|
||||
from core.api.grpc import common_pb2, core_pb2
|
||||
from core.config import ConfigurableOptions
|
||||
from core.emulator.data import LinkData
|
||||
from core.emulator.emudata import InterfaceData, LinkOptions, NodeOptions
|
||||
|
@ -190,7 +190,7 @@ def convert_value(value: Any) -> str:
|
|||
|
||||
def get_config_options(
|
||||
config: Dict[str, str], configurable_options: Type[ConfigurableOptions]
|
||||
) -> Dict[str, core_pb2.ConfigOption]:
|
||||
) -> Dict[str, common_pb2.ConfigOption]:
|
||||
"""
|
||||
Retrieve configuration options in a form that is used by the grpc server.
|
||||
|
||||
|
@ -201,7 +201,7 @@ def get_config_options(
|
|||
results = {}
|
||||
for configuration in configurable_options.configurations():
|
||||
value = config[configuration.id]
|
||||
config_option = core_pb2.ConfigOption(
|
||||
config_option = common_pb2.ConfigOption(
|
||||
label=configuration.label,
|
||||
name=configuration.id,
|
||||
value=value,
|
||||
|
|
|
@ -10,7 +10,7 @@ from typing import Type
|
|||
import grpc
|
||||
from grpc import ServicerContext
|
||||
|
||||
from core.api.grpc import core_pb2, core_pb2_grpc, grpcutils
|
||||
from core.api.grpc import common_pb2, core_pb2, core_pb2_grpc, grpcutils
|
||||
from core.api.grpc.configservices_pb2 import (
|
||||
ConfigService,
|
||||
GetConfigServiceDefaultsRequest,
|
||||
|
@ -1494,7 +1494,17 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
service_class = self.validate_service(request.name, context)
|
||||
service = service_class(None)
|
||||
templates = service.get_templates()
|
||||
config = service.render_config()
|
||||
config = {}
|
||||
for configuration in service.default_configs:
|
||||
config_option = common_pb2.ConfigOption(
|
||||
label=configuration.label,
|
||||
name=configuration.id,
|
||||
value=configuration.default,
|
||||
type=configuration.type.value,
|
||||
select=configuration.options,
|
||||
group="Settings",
|
||||
)
|
||||
config[configuration.id] = config_option
|
||||
return GetConfigServiceDefaultsResponse(templates=templates, config=config)
|
||||
|
||||
def GetNodeConfigServices(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue