Refactor events file structure
This commit is contained in:
@@ -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
|
||||||
|
@@ -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
|
||||||
|
|
@@ -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
|
||||||
|
|
@@ -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
|
||||||
|
|
@@ -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
|
||||||
|
|
@@ -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
|
||||||
|
|
@@ -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.
|
||||||
|
@@ -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):
|
@@ -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):
|
@@ -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):
|
@@ -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):
|
Reference in New Issue
Block a user