fixed protobuf generation to avoid grpc generation for files with no definitions, added service config tab display to coretk

This commit is contained in:
Blake Harnden 2020-01-20 16:25:56 -08:00
parent a4f3abf27c
commit 83e7853821
9 changed files with 65 additions and 33 deletions

View file

@ -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,

View file

@ -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(