mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-06-19 11:36:41 +00:00
Implement missing .to_dict() and .stringify() on message/container
This commit is contained in:
parent
6567f4b567
commit
05626c8274
@ -11,15 +11,20 @@ class MessageContainer(TLObject):
|
|||||||
self.content_related = False
|
self.content_related = False
|
||||||
self.messages = messages
|
self.messages = messages
|
||||||
|
|
||||||
|
def to_dict(self, recursive=True):
|
||||||
|
return {
|
||||||
|
'content_related': self.content_related,
|
||||||
|
'messages':
|
||||||
|
([] if self.messages is None else [
|
||||||
|
None if x is None else x.to_dict() for x in self.messages
|
||||||
|
]) if recursive else self.messages,
|
||||||
|
}
|
||||||
|
|
||||||
def __bytes__(self):
|
def __bytes__(self):
|
||||||
return struct.pack(
|
return struct.pack(
|
||||||
'<Ii', MessageContainer.CONSTRUCTOR_ID, len(self.messages)
|
'<Ii', MessageContainer.CONSTRUCTOR_ID, len(self.messages)
|
||||||
) + b''.join(bytes(m) for m in self.messages)
|
) + b''.join(bytes(m) for m in self.messages)
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return 'MessageContainer(messages=[{}])'\
|
|
||||||
.format(', '.join(str(m) for m in self.messages))
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def iter_read(reader):
|
def iter_read(reader):
|
||||||
reader.read_int(signed=False) # code
|
reader.read_int(signed=False) # code
|
||||||
@ -29,3 +34,9 @@ class MessageContainer(TLObject):
|
|||||||
inner_sequence = reader.read_int()
|
inner_sequence = reader.read_int()
|
||||||
inner_length = reader.read_int()
|
inner_length = reader.read_int()
|
||||||
yield inner_msg_id, inner_sequence, inner_length
|
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)
|
||||||
|
@ -13,10 +13,20 @@ class TLMessage(TLObject):
|
|||||||
self.request = request
|
self.request = request
|
||||||
self.container_msg_id = None
|
self.container_msg_id = None
|
||||||
|
|
||||||
|
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 __bytes__(self):
|
def __bytes__(self):
|
||||||
body = GzipPacked.gzip_if_smaller(self.request)
|
body = GzipPacked.gzip_if_smaller(self.request)
|
||||||
return struct.pack('<qii', self.msg_id, self.seq_no, len(body)) + body
|
return struct.pack('<qii', self.msg_id, self.seq_no, len(body)) + body
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'TLMessage(msg_id={}, seq_no={}, body={})'\
|
return TLObject.pretty_format(self)
|
||||||
.format(self.msg_id, self.seq_no, self.request)
|
|
||||||
|
def stringify(self):
|
||||||
|
return TLObject.pretty_format(self, indent=0)
|
||||||
|
Loading…
Reference in New Issue
Block a user