mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-11-04 01:47:27 +03: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