daemon: update deprecated typing for core.api
This commit is contained in:
parent
6ff2abf0b8
commit
e770bcd47c
5 changed files with 113 additions and 109 deletions
|
@ -1,7 +1,7 @@
|
|||
from dataclasses import dataclass, field
|
||||
from enum import Enum
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List, Optional, Set, Tuple
|
||||
from typing import Any, Optional
|
||||
|
||||
from core.api.grpc import (
|
||||
common_pb2,
|
||||
|
@ -114,13 +114,13 @@ class EventType:
|
|||
class ConfigService:
|
||||
group: str
|
||||
name: str
|
||||
executables: List[str]
|
||||
dependencies: List[str]
|
||||
directories: List[str]
|
||||
files: List[str]
|
||||
startup: List[str]
|
||||
validate: List[str]
|
||||
shutdown: List[str]
|
||||
executables: list[str]
|
||||
dependencies: list[str]
|
||||
directories: list[str]
|
||||
files: list[str]
|
||||
startup: list[str]
|
||||
validate: list[str]
|
||||
shutdown: list[str]
|
||||
validation_mode: ConfigServiceValidationMode
|
||||
validation_timer: int
|
||||
validation_period: float
|
||||
|
@ -147,8 +147,8 @@ class ConfigService:
|
|||
class ConfigServiceConfig:
|
||||
node_id: int
|
||||
name: str
|
||||
templates: Dict[str, str]
|
||||
config: Dict[str, str]
|
||||
templates: dict[str, str]
|
||||
config: dict[str, str]
|
||||
|
||||
@classmethod
|
||||
def from_proto(
|
||||
|
@ -164,15 +164,15 @@ class ConfigServiceConfig:
|
|||
|
||||
@dataclass
|
||||
class ConfigServiceData:
|
||||
templates: Dict[str, str] = field(default_factory=dict)
|
||||
config: Dict[str, str] = field(default_factory=dict)
|
||||
templates: dict[str, str] = field(default_factory=dict)
|
||||
config: dict[str, str] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ConfigServiceDefaults:
|
||||
templates: Dict[str, str]
|
||||
config: Dict[str, "ConfigOption"]
|
||||
modes: Dict[str, Dict[str, str]]
|
||||
templates: dict[str, str]
|
||||
config: dict[str, "ConfigOption"]
|
||||
modes: dict[str, dict[str, str]]
|
||||
|
||||
@classmethod
|
||||
def from_proto(
|
||||
|
@ -211,7 +211,7 @@ class Service:
|
|||
@dataclass
|
||||
class ServiceDefault:
|
||||
model: str
|
||||
services: List[str]
|
||||
services: list[str]
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: services_pb2.ServiceDefaults) -> "ServiceDefault":
|
||||
|
@ -220,15 +220,15 @@ class ServiceDefault:
|
|||
|
||||
@dataclass
|
||||
class NodeServiceData:
|
||||
executables: List[str] = field(default_factory=list)
|
||||
dependencies: List[str] = field(default_factory=list)
|
||||
dirs: List[str] = field(default_factory=list)
|
||||
configs: List[str] = field(default_factory=list)
|
||||
startup: List[str] = field(default_factory=list)
|
||||
validate: List[str] = field(default_factory=list)
|
||||
executables: list[str] = field(default_factory=list)
|
||||
dependencies: list[str] = field(default_factory=list)
|
||||
dirs: list[str] = field(default_factory=list)
|
||||
configs: list[str] = field(default_factory=list)
|
||||
startup: list[str] = field(default_factory=list)
|
||||
validate: list[str] = field(default_factory=list)
|
||||
validation_mode: ServiceValidationMode = ServiceValidationMode.NON_BLOCKING
|
||||
validation_timer: int = 5
|
||||
shutdown: List[str] = field(default_factory=list)
|
||||
shutdown: list[str] = field(default_factory=list)
|
||||
meta: str = None
|
||||
|
||||
@classmethod
|
||||
|
@ -266,7 +266,7 @@ class NodeServiceConfig:
|
|||
node_id: int
|
||||
service: str
|
||||
data: NodeServiceData
|
||||
files: Dict[str, str] = field(default_factory=dict)
|
||||
files: dict[str, str] = field(default_factory=dict)
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: services_pb2.NodeServiceConfig) -> "NodeServiceConfig":
|
||||
|
@ -282,11 +282,11 @@ class NodeServiceConfig:
|
|||
class ServiceConfig:
|
||||
node_id: int
|
||||
service: str
|
||||
files: List[str] = None
|
||||
directories: List[str] = None
|
||||
startup: List[str] = None
|
||||
validate: List[str] = None
|
||||
shutdown: List[str] = None
|
||||
files: list[str] = None
|
||||
directories: list[str] = None
|
||||
startup: list[str] = None
|
||||
validate: list[str] = None
|
||||
shutdown: list[str] = None
|
||||
|
||||
def to_proto(self) -> services_pb2.ServiceConfig:
|
||||
return services_pb2.ServiceConfig(
|
||||
|
@ -339,8 +339,8 @@ class InterfaceThroughput:
|
|||
@dataclass
|
||||
class ThroughputsEvent:
|
||||
session_id: int
|
||||
bridge_throughputs: List[BridgeThroughput]
|
||||
iface_throughputs: List[InterfaceThroughput]
|
||||
bridge_throughputs: list[BridgeThroughput]
|
||||
iface_throughputs: list[InterfaceThroughput]
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: core_pb2.ThroughputsEvent) -> "ThroughputsEvent":
|
||||
|
@ -428,19 +428,19 @@ class ConfigOption:
|
|||
label: str = None
|
||||
type: ConfigOptionType = None
|
||||
group: str = None
|
||||
select: List[str] = None
|
||||
select: list[str] = None
|
||||
|
||||
@classmethod
|
||||
def from_dict(
|
||||
cls, config: Dict[str, common_pb2.ConfigOption]
|
||||
) -> Dict[str, "ConfigOption"]:
|
||||
cls, config: dict[str, common_pb2.ConfigOption]
|
||||
) -> dict[str, "ConfigOption"]:
|
||||
d = {}
|
||||
for key, value in config.items():
|
||||
d[key] = ConfigOption.from_proto(value)
|
||||
return d
|
||||
|
||||
@classmethod
|
||||
def to_dict(cls, config: Dict[str, "ConfigOption"]) -> Dict[str, str]:
|
||||
def to_dict(cls, config: dict[str, "ConfigOption"]) -> dict[str, str]:
|
||||
return {k: v.value for k, v in config.items()}
|
||||
|
||||
@classmethod
|
||||
|
@ -671,7 +671,7 @@ class EmaneModelConfig:
|
|||
node_id: int
|
||||
model: str
|
||||
iface_id: int = -1
|
||||
config: Dict[str, ConfigOption] = None
|
||||
config: dict[str, ConfigOption] = None
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: emane_pb2.GetEmaneModelConfig) -> "EmaneModelConfig":
|
||||
|
@ -725,8 +725,8 @@ class Node:
|
|||
type: NodeType = NodeType.DEFAULT
|
||||
model: str = None
|
||||
position: Position = Position(x=0, y=0)
|
||||
services: Set[str] = field(default_factory=set)
|
||||
config_services: Set[str] = field(default_factory=set)
|
||||
services: set[str] = field(default_factory=set)
|
||||
config_services: set[str] = field(default_factory=set)
|
||||
emane: str = None
|
||||
icon: str = None
|
||||
image: str = None
|
||||
|
@ -737,19 +737,19 @@ class Node:
|
|||
canvas: int = None
|
||||
|
||||
# configurations
|
||||
emane_model_configs: Dict[
|
||||
Tuple[str, Optional[int]], Dict[str, ConfigOption]
|
||||
emane_model_configs: dict[
|
||||
tuple[str, Optional[int]], dict[str, ConfigOption]
|
||||
] = field(default_factory=dict, repr=False)
|
||||
wlan_config: Dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
wireless_config: Dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
mobility_config: Dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
service_configs: Dict[str, NodeServiceData] = field(
|
||||
wlan_config: dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
wireless_config: dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
mobility_config: dict[str, ConfigOption] = field(default_factory=dict, repr=False)
|
||||
service_configs: dict[str, NodeServiceData] = field(
|
||||
default_factory=dict, repr=False
|
||||
)
|
||||
service_file_configs: Dict[str, Dict[str, str]] = field(
|
||||
service_file_configs: dict[str, dict[str, str]] = field(
|
||||
default_factory=dict, repr=False
|
||||
)
|
||||
config_service_configs: Dict[str, ConfigServiceData] = field(
|
||||
config_service_configs: dict[str, ConfigServiceData] = field(
|
||||
default_factory=dict, repr=False
|
||||
)
|
||||
|
||||
|
@ -849,18 +849,18 @@ class Node:
|
|||
wireless_config={k: v.to_proto() for k, v in self.wireless_config.items()},
|
||||
)
|
||||
|
||||
def set_wlan(self, config: Dict[str, str]) -> None:
|
||||
def set_wlan(self, config: dict[str, str]) -> None:
|
||||
for key, value in config.items():
|
||||
option = ConfigOption(name=key, value=value)
|
||||
self.wlan_config[key] = option
|
||||
|
||||
def set_mobility(self, config: Dict[str, str]) -> None:
|
||||
def set_mobility(self, config: dict[str, str]) -> None:
|
||||
for key, value in config.items():
|
||||
option = ConfigOption(name=key, value=value)
|
||||
self.mobility_config[key] = option
|
||||
|
||||
def set_emane_model(
|
||||
self, model: str, config: Dict[str, str], iface_id: int = None
|
||||
self, model: str, config: dict[str, str], iface_id: int = None
|
||||
) -> None:
|
||||
key = (model, iface_id)
|
||||
config_options = self.emane_model_configs.setdefault(key, {})
|
||||
|
@ -873,23 +873,23 @@ class Node:
|
|||
class Session:
|
||||
id: int = None
|
||||
state: SessionState = SessionState.DEFINITION
|
||||
nodes: Dict[int, Node] = field(default_factory=dict)
|
||||
links: List[Link] = field(default_factory=list)
|
||||
nodes: dict[int, Node] = field(default_factory=dict)
|
||||
links: list[Link] = field(default_factory=list)
|
||||
dir: str = None
|
||||
user: str = None
|
||||
default_services: Dict[str, Set[str]] = field(default_factory=dict)
|
||||
default_services: dict[str, set[str]] = field(default_factory=dict)
|
||||
location: SessionLocation = SessionLocation(
|
||||
x=0.0, y=0.0, z=0.0, lat=47.57917, lon=-122.13232, alt=2.0, scale=150.0
|
||||
)
|
||||
hooks: Dict[str, Hook] = field(default_factory=dict)
|
||||
metadata: Dict[str, str] = field(default_factory=dict)
|
||||
hooks: dict[str, Hook] = field(default_factory=dict)
|
||||
metadata: dict[str, str] = field(default_factory=dict)
|
||||
file: Path = None
|
||||
options: Dict[str, ConfigOption] = field(default_factory=dict)
|
||||
servers: List[Server] = field(default_factory=list)
|
||||
options: dict[str, ConfigOption] = field(default_factory=dict)
|
||||
servers: list[Server] = field(default_factory=list)
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: core_pb2.Session) -> "Session":
|
||||
nodes: Dict[int, Node] = {x.id: Node.from_proto(x) for x in proto.nodes}
|
||||
nodes: dict[int, Node] = {x.id: Node.from_proto(x) for x in proto.nodes}
|
||||
links = [Link.from_proto(x) for x in proto.links]
|
||||
default_services = {x.model: set(x.services) for x in proto.default_services}
|
||||
hooks = {x.file: Hook.from_proto(x) for x in proto.hooks}
|
||||
|
@ -987,7 +987,7 @@ class Session:
|
|||
self.links.append(link)
|
||||
return link
|
||||
|
||||
def set_options(self, config: Dict[str, str]) -> None:
|
||||
def set_options(self, config: dict[str, str]) -> None:
|
||||
for key, value in config.items():
|
||||
option = ConfigOption(name=key, value=value)
|
||||
self.options[key] = option
|
||||
|
@ -995,9 +995,9 @@ class Session:
|
|||
|
||||
@dataclass
|
||||
class CoreConfig:
|
||||
services: List[Service] = field(default_factory=list)
|
||||
config_services: List[ConfigService] = field(default_factory=list)
|
||||
emane_models: List[str] = field(default_factory=list)
|
||||
services: list[Service] = field(default_factory=list)
|
||||
config_services: list[ConfigService] = field(default_factory=list)
|
||||
emane_models: list[str] = field(default_factory=list)
|
||||
|
||||
@classmethod
|
||||
def from_proto(cls, proto: core_pb2.GetConfigResponse) -> "CoreConfig":
|
||||
|
@ -1088,7 +1088,7 @@ class ConfigEvent:
|
|||
node_id: int
|
||||
object: str
|
||||
type: int
|
||||
data_types: List[int]
|
||||
data_types: list[int]
|
||||
data_values: str
|
||||
captions: str
|
||||
bitmap: str
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue