Refactor events file structure
This commit is contained in:
@@ -46,16 +46,19 @@ from ._quick_reply import (
|
||||
from ._poll import Poll, PollOption
|
||||
from ._plan import GuestStatus, Plan, PlanData
|
||||
|
||||
# Listen events
|
||||
from ._event_common import Event, UnknownEvent, ThreadEvent
|
||||
from ._client_payload import (
|
||||
# Events
|
||||
from ._events import (
|
||||
# _common
|
||||
Event,
|
||||
UnknownEvent,
|
||||
ThreadEvent,
|
||||
# _client_payload
|
||||
ReactionEvent,
|
||||
UserStatusEvent,
|
||||
LiveLocationEvent,
|
||||
UnsendEvent,
|
||||
MessageReplyEvent,
|
||||
)
|
||||
from ._delta_class import (
|
||||
# _delta_class
|
||||
PeopleAdded,
|
||||
PersonRemoved,
|
||||
TitleSet,
|
||||
@@ -64,8 +67,7 @@ from ._delta_class import (
|
||||
ThreadsRead,
|
||||
MessageEvent,
|
||||
ThreadFolder,
|
||||
)
|
||||
from ._delta_type import (
|
||||
# _delta_type
|
||||
ColorSet,
|
||||
EmojiSet,
|
||||
NicknameSet,
|
||||
@@ -82,8 +84,11 @@ from ._delta_type import (
|
||||
PlanEdited,
|
||||
PlanDeleted,
|
||||
PlanResponded,
|
||||
# __init__
|
||||
Typing,
|
||||
FriendRequest,
|
||||
Presence,
|
||||
)
|
||||
from ._event import Typing, FriendRequest, Presence
|
||||
from ._mqtt import Listener
|
||||
|
||||
from ._client import Client
|
||||
|
@@ -1,16 +1,12 @@
|
||||
import attr
|
||||
import datetime
|
||||
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from . import (
|
||||
_exception,
|
||||
_util,
|
||||
_user,
|
||||
_group,
|
||||
_thread,
|
||||
_client_payload,
|
||||
_delta_class,
|
||||
_delta_type,
|
||||
)
|
||||
from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from . import _client_payload, _delta_class, _delta_type
|
||||
from ._client_payload import *
|
||||
from ._delta_class import *
|
||||
from ._delta_type import *
|
||||
|
||||
from .. import _exception, _util, _user, _group, _thread
|
||||
|
||||
from typing import Mapping
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import attr
|
||||
import datetime
|
||||
from ._event_common import attrs_event, UnknownEvent, ThreadEvent
|
||||
from . import _exception, _util, _user, _message
|
||||
from ._common import attrs_event, UnknownEvent, ThreadEvent
|
||||
from .. import _exception, _util, _user, _message
|
||||
|
||||
from typing import Optional
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import attr
|
||||
import abc
|
||||
from ._core import kw_only
|
||||
from . import _exception, _util, _thread, _group, _user, _message
|
||||
from .._core import kw_only
|
||||
from .. import _exception, _util, _thread, _group, _user, _message
|
||||
|
||||
from typing import Any
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import attr
|
||||
import datetime
|
||||
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from . import _util, _user, _group, _thread, _message
|
||||
from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from .. import _util, _user, _group, _thread, _message
|
||||
|
||||
from typing import Sequence, Optional
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import attr
|
||||
import datetime
|
||||
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from . import _util, _user, _thread, _poll, _plan
|
||||
from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
|
||||
from .. import _util, _user, _thread, _poll, _plan
|
||||
|
||||
from typing import Sequence, Optional
|
||||
|
@@ -3,7 +3,7 @@ import random
|
||||
import paho.mqtt.client
|
||||
import requests
|
||||
from ._core import log, kw_only
|
||||
from . import _util, _exception, _session, _graphql, _event_common, _event
|
||||
from . import _util, _exception, _session, _graphql, _events
|
||||
|
||||
from typing import Iterable, Optional
|
||||
|
||||
@@ -31,7 +31,7 @@ class Listener:
|
||||
_foreground = attr.ib(type=bool)
|
||||
_sequence_id = attr.ib(type=int)
|
||||
_sync_token = attr.ib(None, type=str)
|
||||
_events = attr.ib(None, type=Optional[Iterable[_event_common.Event]])
|
||||
_tmp_events = attr.ib(None, type=Optional[Iterable[_events.Event]])
|
||||
|
||||
_HOST = "edge-chat.facebook.com"
|
||||
|
||||
@@ -147,7 +147,9 @@ class Listener:
|
||||
|
||||
try:
|
||||
# TODO: Don't handle this in a callback
|
||||
self._events = list(_event.parse_events(self.session, message.topic, j))
|
||||
self._tmp_events = list(
|
||||
_events.parse_events(self.session, message.topic, j)
|
||||
)
|
||||
except _exception.ParseError:
|
||||
log.exception("Failed parsing MQTT data")
|
||||
|
||||
@@ -340,7 +342,7 @@ class Listener:
|
||||
|
||||
return True # Keep listening
|
||||
|
||||
def listen(self) -> Iterable[_event_common.Event]:
|
||||
def listen(self) -> Iterable[_events.Event]:
|
||||
"""Run the listening loop continually.
|
||||
|
||||
Yields events when they arrive.
|
||||
@@ -354,9 +356,9 @@ class Listener:
|
||||
... print(event)
|
||||
"""
|
||||
while self._loop_once():
|
||||
if self._events:
|
||||
yield from self._events
|
||||
self._events = None
|
||||
if self._tmp_events:
|
||||
yield from self._tmp_events
|
||||
self._tmp_events = None
|
||||
|
||||
def disconnect(self) -> None:
|
||||
"""Disconnect the MQTT listener.
|
||||
|
@@ -13,7 +13,7 @@ from fbchat import (
|
||||
UnsendEvent,
|
||||
MessageReplyEvent,
|
||||
)
|
||||
from fbchat._client_payload import parse_client_delta, parse_client_payloads
|
||||
from fbchat._events._client_payload import parse_client_delta, parse_client_payloads
|
||||
|
||||
|
||||
def test_reaction_event_added(session):
|
@@ -17,7 +17,7 @@ from fbchat import (
|
||||
MessageEvent,
|
||||
ThreadFolder,
|
||||
)
|
||||
from fbchat._delta_class import parse_delta
|
||||
from fbchat._events._delta_class import parse_delta
|
||||
|
||||
|
||||
def test_people_added(session):
|
@@ -29,7 +29,7 @@ from fbchat import (
|
||||
PlanDeleted,
|
||||
PlanResponded,
|
||||
)
|
||||
from fbchat._delta_type import parse_delta
|
||||
from fbchat._events._delta_type import parse_delta
|
||||
|
||||
|
||||
def test_color_set(session):
|
@@ -13,7 +13,7 @@ from fbchat import (
|
||||
UnfetchedThreadEvent,
|
||||
ActiveStatus,
|
||||
)
|
||||
from fbchat._event import parse_delta, parse_events
|
||||
from fbchat._events import parse_delta, parse_events
|
||||
|
||||
|
||||
def test_t_ms_full(session):
|
Reference in New Issue
Block a user