Refactor events file structure

This commit is contained in:
Mads Marquart
2020-01-23 13:39:54 +01:00
parent 45a71fd1a3
commit 3efeffe6dd
12 changed files with 41 additions and 38 deletions

View File

@@ -46,16 +46,19 @@ from ._quick_reply import (
from ._poll import Poll, PollOption from ._poll import Poll, PollOption
from ._plan import GuestStatus, Plan, PlanData from ._plan import GuestStatus, Plan, PlanData
# Listen events # Events
from ._event_common import Event, UnknownEvent, ThreadEvent from ._events import (
from ._client_payload import ( # _common
Event,
UnknownEvent,
ThreadEvent,
# _client_payload
ReactionEvent, ReactionEvent,
UserStatusEvent, UserStatusEvent,
LiveLocationEvent, LiveLocationEvent,
UnsendEvent, UnsendEvent,
MessageReplyEvent, MessageReplyEvent,
) # _delta_class
from ._delta_class import (
PeopleAdded, PeopleAdded,
PersonRemoved, PersonRemoved,
TitleSet, TitleSet,
@@ -64,8 +67,7 @@ from ._delta_class import (
ThreadsRead, ThreadsRead,
MessageEvent, MessageEvent,
ThreadFolder, ThreadFolder,
) # _delta_type
from ._delta_type import (
ColorSet, ColorSet,
EmojiSet, EmojiSet,
NicknameSet, NicknameSet,
@@ -82,8 +84,11 @@ from ._delta_type import (
PlanEdited, PlanEdited,
PlanDeleted, PlanDeleted,
PlanResponded, PlanResponded,
# __init__
Typing,
FriendRequest,
Presence,
) )
from ._event import Typing, FriendRequest, Presence
from ._mqtt import Listener from ._mqtt import Listener
from ._client import Client from ._client import Client

View File

@@ -1,16 +1,12 @@
import attr import attr
import datetime import datetime
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
from . import ( from . import _client_payload, _delta_class, _delta_type
_exception, from ._client_payload import *
_util, from ._delta_class import *
_user, from ._delta_type import *
_group,
_thread, from .. import _exception, _util, _user, _group, _thread
_client_payload,
_delta_class,
_delta_type,
)
from typing import Mapping from typing import Mapping

View File

@@ -1,7 +1,7 @@
import attr import attr
import datetime import datetime
from ._event_common import attrs_event, UnknownEvent, ThreadEvent from ._common import attrs_event, UnknownEvent, ThreadEvent
from . import _exception, _util, _user, _message from .. import _exception, _util, _user, _message
from typing import Optional from typing import Optional

View File

@@ -1,7 +1,7 @@
import attr import attr
import abc import abc
from ._core import kw_only from .._core import kw_only
from . import _exception, _util, _thread, _group, _user, _message from .. import _exception, _util, _thread, _group, _user, _message
from typing import Any from typing import Any

View File

@@ -1,7 +1,7 @@
import attr import attr
import datetime import datetime
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
from . import _util, _user, _group, _thread, _message from .. import _util, _user, _group, _thread, _message
from typing import Sequence, Optional from typing import Sequence, Optional

View File

@@ -1,7 +1,7 @@
import attr import attr
import datetime import datetime
from ._event_common import attrs_event, Event, UnknownEvent, ThreadEvent from ._common import attrs_event, Event, UnknownEvent, ThreadEvent
from . import _util, _user, _thread, _poll, _plan from .. import _util, _user, _thread, _poll, _plan
from typing import Sequence, Optional from typing import Sequence, Optional

View File

@@ -3,7 +3,7 @@ import random
import paho.mqtt.client import paho.mqtt.client
import requests import requests
from ._core import log, kw_only 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 from typing import Iterable, Optional
@@ -31,7 +31,7 @@ class Listener:
_foreground = attr.ib(type=bool) _foreground = attr.ib(type=bool)
_sequence_id = attr.ib(type=int) _sequence_id = attr.ib(type=int)
_sync_token = attr.ib(None, type=str) _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" _HOST = "edge-chat.facebook.com"
@@ -147,7 +147,9 @@ class Listener:
try: try:
# TODO: Don't handle this in a callback # 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: except _exception.ParseError:
log.exception("Failed parsing MQTT data") log.exception("Failed parsing MQTT data")
@@ -340,7 +342,7 @@ class Listener:
return True # Keep listening return True # Keep listening
def listen(self) -> Iterable[_event_common.Event]: def listen(self) -> Iterable[_events.Event]:
"""Run the listening loop continually. """Run the listening loop continually.
Yields events when they arrive. Yields events when they arrive.
@@ -354,9 +356,9 @@ class Listener:
... print(event) ... print(event)
""" """
while self._loop_once(): while self._loop_once():
if self._events: if self._tmp_events:
yield from self._events yield from self._tmp_events
self._events = None self._tmp_events = None
def disconnect(self) -> None: def disconnect(self) -> None:
"""Disconnect the MQTT listener. """Disconnect the MQTT listener.

View File

@@ -13,7 +13,7 @@ from fbchat import (
UnsendEvent, UnsendEvent,
MessageReplyEvent, 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): def test_reaction_event_added(session):

View File

@@ -17,7 +17,7 @@ from fbchat import (
MessageEvent, MessageEvent,
ThreadFolder, ThreadFolder,
) )
from fbchat._delta_class import parse_delta from fbchat._events._delta_class import parse_delta
def test_people_added(session): def test_people_added(session):

View File

@@ -29,7 +29,7 @@ from fbchat import (
PlanDeleted, PlanDeleted,
PlanResponded, PlanResponded,
) )
from fbchat._delta_type import parse_delta from fbchat._events._delta_type import parse_delta
def test_color_set(session): def test_color_set(session):

View File

@@ -13,7 +13,7 @@ from fbchat import (
UnfetchedThreadEvent, UnfetchedThreadEvent,
ActiveStatus, ActiveStatus,
) )
from fbchat._event import parse_delta, parse_events from fbchat._events import parse_delta, parse_events
def test_t_ms_full(session): def test_t_ms_full(session):