Make events subpackage private

This commit is contained in:
Lonami Exo 2021-09-24 21:11:50 +02:00
parent 5a44510e2d
commit 1762f554df
17 changed files with 25 additions and 19 deletions

View File

@ -11,7 +11,7 @@ from . import (
from .. import helpers, version, _tl from .. import helpers, version, _tl
from ..types import _custom from ..types import _custom
from .._network import ConnectionTcpFull from .._network import ConnectionTcpFull
from ..events.common import EventBuilder, EventCommon from .._events.common import EventBuilder, EventCommon
from .._misc import enums from .._misc import enums

View File

@ -8,9 +8,11 @@ import traceback
import typing import typing
import logging import logging
from .. import events, utils, _tl from .. import utils, _tl
from ..errors._rpcbase import RpcError from ..errors._rpcbase import RpcError
from ..events.common import EventBuilder, EventCommon from .._events.common import EventBuilder, EventCommon
from .._events.raw import Raw
from .._events.base import StopPropagation, _get_handlers
if typing.TYPE_CHECKING: if typing.TYPE_CHECKING:
from .telegramclient import TelegramClient from .telegramclient import TelegramClient
@ -40,7 +42,7 @@ def add_event_handler(
self: 'TelegramClient', self: 'TelegramClient',
callback: Callback, callback: Callback,
event: EventBuilder = None): event: EventBuilder = None):
builders = events._get_handlers(callback) builders = _get_handlers(callback)
if builders is not None: if builders is not None:
for event in builders: for event in builders:
self._event_builders.append((event, callback)) self._event_builders.append((event, callback))
@ -49,7 +51,7 @@ def add_event_handler(
if isinstance(event, type): if isinstance(event, type):
event = event() event = event()
elif not event: elif not event:
event = events.Raw() event = Raw()
self._event_builders.append((event, callback)) self._event_builders.append((event, callback))
@ -274,7 +276,7 @@ async def _dispatch_update(self: 'TelegramClient', update, others, channel_id, p
try: try:
await callback(event) await callback(event)
except events.StopPropagation: except StopPropagation:
name = getattr(callback, '__name__', repr(callback)) name = getattr(callback, '__name__', repr(callback))
self._log[__name__].debug( self._log[__name__].debug(
'Event handler "%s" stopped chain of propagation ' 'Event handler "%s" stopped chain of propagation '
@ -294,7 +296,7 @@ async def _dispatch_event(self: 'TelegramClient', event):
# the name of speed; we don't want to make it worse for all updates # the name of speed; we don't want to make it worse for all updates
# just because albums may need it. # just because albums may need it.
for builder, callback in self._event_builders: for builder, callback in self._event_builders:
if isinstance(builder, events.Raw): if isinstance(builder, Raw):
continue continue
if not isinstance(event, builder.Event): if not isinstance(event, builder.Event):
continue continue
@ -310,7 +312,7 @@ async def _dispatch_event(self: 'TelegramClient', event):
try: try:
await callback(event) await callback(event)
except events.StopPropagation: except StopPropagation:
name = getattr(callback, '__name__', repr(callback)) name = getattr(callback, '__name__', repr(callback))
self._log[__name__].debug( self._log[__name__].debug(
'Event handler "%s" stopped chain of propagation ' 'Event handler "%s" stopped chain of propagation '

View File

View File

@ -1,13 +1,4 @@
from .raw import Raw from .raw import Raw
from .album import Album
from .chataction import ChatAction
from .messagedeleted import MessageDeleted
from .messageedited import MessageEdited
from .messageread import MessageRead
from .newmessage import NewMessage
from .userupdate import UserUpdate
from .callbackquery import CallbackQuery
from .inlinequery import InlineQuery
_HANDLERS_ATTRIBUTE = '__tl.handlers' _HANDLERS_ATTRIBUTE = '__tl.handlers'

12
telethon/events.py Normal file
View File

@ -0,0 +1,12 @@
from ._events.base import StopPropagation, register, unregister, is_handler, list
from ._events.raw import Raw
from ._events.album import Album
from ._events.chataction import ChatAction
from ._events.messagedeleted import MessageDeleted
from ._events.messageedited import MessageEdited
from ._events.messageread import MessageRead
from ._events.newmessage import NewMessage
from ._events.userupdate import UserUpdate
from ._events.callbackquery import CallbackQuery
from ._events.inlinequery import InlineQuery

View File

@ -2,7 +2,8 @@ import asyncio
import base64 import base64
import datetime import datetime
from ... import events, _tl from ... import _tl
from ..._events.raw import Raw
class QRLogin: class QRLogin:
@ -94,7 +95,7 @@ class QRLogin:
async def handler(_update): async def handler(_update):
event.set() event.set()
self._client.add_event_handler(handler, events.Raw(_tl.UpdateLoginToken)) self._client.add_event_handler(handler, Raw(_tl.UpdateLoginToken))
try: try:
# Will raise timeout error if it doesn't complete quick enough, # Will raise timeout error if it doesn't complete quick enough,