Update handlers works; it also seems stable

This commit is contained in:
Andrey Egorov
2017-10-22 15:06:36 +03:00
parent 917665852d
commit 780e0ceddf
9 changed files with 300 additions and 265 deletions

View File

@@ -11,6 +11,12 @@ class MessageContainer(TLObject):
self.content_related = False
self.messages = messages
def to_dict(self, recursive=True):
return {
'content_related': self.content_related,
'messages': self.messages,
}
def to_bytes(self):
return struct.pack(
'<Ii', MessageContainer.CONSTRUCTOR_ID, len(self.messages)
@@ -25,3 +31,9 @@ class MessageContainer(TLObject):
inner_sequence = reader.read_int()
inner_length = reader.read_int()
yield inner_msg_id, inner_sequence, inner_length
def __str__(self):
return TLObject.pretty_format(self)
def stringify(self):
return TLObject.pretty_format(self, indent=0)

View File

@@ -1,4 +1,5 @@
import struct
import logging
from . import TLObject, GzipPacked
@@ -11,7 +12,23 @@ class TLMessage(TLObject):
self.msg_id = session.get_new_msg_id()
self.seq_no = session.generate_sequence(request.content_related)
self.request = request
self.container_msg_id = None
logging.getLogger(__name__).debug(self)
def to_dict(self, recursive=True):
return {
'msg_id': self.msg_id,
'seq_no': self.seq_no,
'request': self.request,
'container_msg_id': self.container_msg_id,
}
def to_bytes(self):
body = GzipPacked.gzip_if_smaller(self.request)
return struct.pack('<qii', self.msg_id, self.seq_no, len(body)) + body
def __str__(self):
return TLObject.pretty_format(self)
def stringify(self):
return TLObject.pretty_format(self, indent=0)

View File

@@ -1,12 +1,10 @@
from datetime import datetime
from threading import Event
class TLObject:
def __init__(self):
self.request_msg_id = 0 # Long
self.confirm_received = Event()
self.confirm_received = None
self.rpc_error = None
# These should be overrode