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 ._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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):