@@ -73,29 +73,7 @@ def from_json(cls, json_input, include_message_actions=False, include_message_ty
7373 for key , entry in json_input ['channels' ].items ():
7474 channels [key ] = []
7575 for item in entry :
76- message = PNFetchMessageItem (item ['message' ], item ['timetoken' ])
77- if 'uuid' in item :
78- message .uuid = item ['uuid' ]
79- if 'message_type' in item :
80- message .message_type = item ['message_type' ]
81-
82- if 'meta' in item :
83- message .meta = item ['meta' ]
84-
85- if include_message_actions :
86- if 'actions' in item :
87- message .actions = item ['actions' ]
88- else :
89- message .actions = {}
90-
91- if include_message_type :
92- message .message_type = PNMessageType .from_response (
93- message_type = item ['type' ] if 'type' in item .keys () else None ,
94- pn_message_type = item ['message_type' ])
95-
96- if include_space_id :
97- message .space_id = item ['space_id' ]
98-
76+ message = PNFetchMessageItem (item , include_message_actions , include_message_type , include_space_id )
9977 channels [key ].append (message )
10078
10179 return PNFetchMessagesResult (
@@ -106,11 +84,34 @@ def from_json(cls, json_input, include_message_actions=False, include_message_ty
10684
10785
10886class PNFetchMessageItem (object ):
109- def __init__ (self , message , timetoken , meta = None , actions = None ):
110- self .message = message
111- self .meta = meta
112- self .timetoken = timetoken
113- self .actions = actions
87+ message = None
88+ meta = None
89+ timetoken = None
90+ actions = None
91+
92+ def __init__ (self , item , include_message_actions , include_message_type , include_space_id ):
93+ self .message = item ['message' ]
94+ self .timetoken = item ['timetoken' ]
95+
96+ if 'uuid' in item :
97+ self .uuid = item ['uuid' ]
98+
99+ if 'meta' in item :
100+ self .meta = item ['meta' ]
101+
102+ if include_message_actions :
103+ if 'actions' in item :
104+ self .actions = item ['actions' ]
105+ else :
106+ self .actions = {}
107+
108+ if include_message_type :
109+ self .message_type = PNMessageType .from_response (
110+ message_type = item ['type' ] if 'type' in item .keys () else None ,
111+ pn_message_type = item ['message_type' ])
112+
113+ if include_space_id :
114+ self .space_id = item ['space_id' ]
114115
115116 def __str__ (self ):
116117 return "Fetch message item with tt: %s and content: %s" % (self .timetoken , self .message )
0 commit comments