Skip to content

Commit 93d40bb

Browse files
app controller config parsing
1 parent 4e4e9b9 commit 93d40bb

3 files changed

Lines changed: 28 additions & 1 deletion

File tree

synapse/client/nodes/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from synapse.client.nodes.stream_in import StreamIn
99
from synapse.client.nodes.stream_out import StreamOut
1010
from synapse.client.nodes.disk_writer import DiskWriter
11+
from synapse.client.nodes.application_node import ApplicationNode
1112

1213
from synapse.api.node_pb2 import NodeType
1314

@@ -22,4 +23,5 @@
2223
NodeType.kSpikeSource: SpikeSource,
2324
NodeType.kStreamIn: StreamIn,
2425
NodeType.kStreamOut: StreamOut,
26+
NodeType.kApplication: ApplicationNode,
2527
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from synapse.api.node_pb2 import NodeConfig, NodeType
2+
from synapse.api.nodes.application_pb2 import ApplicationNodeConfig
3+
from synapse.client.node import Node
4+
5+
6+
class ApplicationNode(Node):
7+
type = NodeType.kApplication
8+
9+
def __init__(self, name: str):
10+
self.name = name
11+
12+
def _to_proto(self):
13+
n = NodeConfig()
14+
p = ApplicationNodeConfig(name=self.name)
15+
n.application.CopyFrom(p)
16+
return n
17+
18+
@staticmethod
19+
def _from_proto(proto: ApplicationNodeConfig):
20+
if not proto:
21+
raise ValueError("parameter 'proto' is missing")
22+
if not isinstance(proto, ApplicationNodeConfig):
23+
raise ValueError("proto is not of type ApplicationNodeConfig")
24+
25+
return ApplicationNode(name=proto.name)

0 commit comments

Comments
 (0)