mirror of
https://github.com/aljazceru/python-nostr.git
synced 2025-12-18 23:04:20 +01:00
fix: Events initialization
This commit is contained in:
@@ -4,22 +4,26 @@ from threading import Lock
|
|||||||
from .message_type import RelayMessageType
|
from .message_type import RelayMessageType
|
||||||
from .event import Event
|
from .event import Event
|
||||||
|
|
||||||
|
|
||||||
class EventMessage:
|
class EventMessage:
|
||||||
def __init__(self, event: Event, subscription_id: str, url: str) -> None:
|
def __init__(self, event: Event, subscription_id: str, url: str) -> None:
|
||||||
self.event = event
|
self.event = event
|
||||||
self.subscription_id = subscription_id
|
self.subscription_id = subscription_id
|
||||||
self.url = url
|
self.url = url
|
||||||
|
|
||||||
|
|
||||||
class NoticeMessage:
|
class NoticeMessage:
|
||||||
def __init__(self, content: str, url: str) -> None:
|
def __init__(self, content: str, url: str) -> None:
|
||||||
self.content = content
|
self.content = content
|
||||||
self.url = url
|
self.url = url
|
||||||
|
|
||||||
|
|
||||||
class EndOfStoredEventsMessage:
|
class EndOfStoredEventsMessage:
|
||||||
def __init__(self, subscription_id: str, url: str) -> None:
|
def __init__(self, subscription_id: str, url: str) -> None:
|
||||||
self.subscription_id = subscription_id
|
self.subscription_id = subscription_id
|
||||||
self.url = url
|
self.url = url
|
||||||
|
|
||||||
|
|
||||||
class MessagePool:
|
class MessagePool:
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.events: Queue[EventMessage] = Queue()
|
self.events: Queue[EventMessage] = Queue()
|
||||||
@@ -27,7 +31,7 @@ class MessagePool:
|
|||||||
self.eose_notices: Queue[EndOfStoredEventsMessage] = Queue()
|
self.eose_notices: Queue[EndOfStoredEventsMessage] = Queue()
|
||||||
self._unique_events: set = set()
|
self._unique_events: set = set()
|
||||||
self.lock: Lock = Lock()
|
self.lock: Lock = Lock()
|
||||||
|
|
||||||
def add_message(self, message: str, url: str):
|
def add_message(self, message: str, url: str):
|
||||||
self._process_message(message, url)
|
self._process_message(message, url)
|
||||||
|
|
||||||
@@ -55,7 +59,14 @@ class MessagePool:
|
|||||||
if message_type == RelayMessageType.EVENT:
|
if message_type == RelayMessageType.EVENT:
|
||||||
subscription_id = message_json[1]
|
subscription_id = message_json[1]
|
||||||
e = message_json[2]
|
e = message_json[2]
|
||||||
event = Event(e['pubkey'], e['content'], e['created_at'], e['kind'], e['tags'], e['id'], e['sig'])
|
event = Event(
|
||||||
|
e["content"],
|
||||||
|
e["pubkey"],
|
||||||
|
e["created_at"],
|
||||||
|
e["kind"],
|
||||||
|
e["tags"],
|
||||||
|
e["sig"],
|
||||||
|
)
|
||||||
with self.lock:
|
with self.lock:
|
||||||
if not event.id in self._unique_events:
|
if not event.id in self._unique_events:
|
||||||
self.events.put(EventMessage(event, subscription_id, url))
|
self.events.put(EventMessage(event, subscription_id, url))
|
||||||
@@ -64,5 +75,3 @@ class MessagePool:
|
|||||||
self.notices.put(NoticeMessage(message_json[1], url))
|
self.notices.put(NoticeMessage(message_json[1], url))
|
||||||
elif message_type == RelayMessageType.END_OF_STORED_EVENTS:
|
elif message_type == RelayMessageType.END_OF_STORED_EVENTS:
|
||||||
self.eose_notices.put(EndOfStoredEventsMessage(message_json[1], url))
|
self.eose_notices.put(EndOfStoredEventsMessage(message_json[1], url))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -135,12 +135,11 @@ class Relay:
|
|||||||
|
|
||||||
e = message_json[2]
|
e = message_json[2]
|
||||||
event = Event(
|
event = Event(
|
||||||
e["pubkey"],
|
|
||||||
e["content"],
|
e["content"],
|
||||||
|
e["pubkey"],
|
||||||
e["created_at"],
|
e["created_at"],
|
||||||
e["kind"],
|
e["kind"],
|
||||||
e["tags"],
|
e["tags"],
|
||||||
e["id"],
|
|
||||||
e["sig"],
|
e["sig"],
|
||||||
)
|
)
|
||||||
if not event.verify():
|
if not event.verify():
|
||||||
|
|||||||
Reference in New Issue
Block a user