add json conversion methods to classes

This commit is contained in:
jeffthibault
2022-07-21 12:44:58 -04:00
parent 6683693279
commit 5e9b8ab4a9
2 changed files with 19 additions and 0 deletions

View File

@@ -12,6 +12,12 @@ class RelayPolicy:
self.should_read = should_read self.should_read = should_read
self.should_write = should_write self.should_write = should_write
def to_json_object(self) -> dict[str, bool]:
return {
"read": self.should_read,
"write": self.should_write
}
class Relay: class Relay:
def __init__( def __init__(
self, self,
@@ -61,6 +67,13 @@ class Relay:
return None return None
def to_json_object(self) -> dict:
return {
"url": self.url,
"policy": self.policy.to_json_object(),
"subscriptions": [subscription.to_json_object() for subscription in self.subscriptions.values()]
}
def _is_valid_message(self, message: str) -> bool: def _is_valid_message(self, message: str) -> bool:
if not message or message[0] != '[' or message[-1] != ']': if not message or message[0] != '[' or message[-1] != ']':
return False return False

View File

@@ -4,3 +4,9 @@ class Subscription:
def __init__(self, id: str, filters: Filters=None) -> None: def __init__(self, id: str, filters: Filters=None) -> None:
self.id = id self.id = id
self.filters = filters self.filters = filters
def to_json_object(self):
return {
"id": self.id,
"filters": self.filters.to_json_array()
}