3131web_socket_app = None
3232web_socket_open = False
3333
34+ _news_envelopes = []
35+
3436''' MRN Process Code '''
3537
3638
39+ def decodeFieldList (fieldList_dict ):
40+ for key , value in fieldList_dict .items ():
41+ print ("Name = %s: Value = %s" % (key , value ))
42+
43+
3744def send_mrn_request (ws ):
3845 """ Create and send MRN request """
3946 mrn_req_json = {
@@ -49,12 +56,34 @@ def send_mrn_request(ws):
4956 print (json .dumps (mrn_req_json , sort_keys = True , indent = 2 , separators = (',' , ':' )))
5057
5158
52- def processRefresh (ws ):
53- return None
59+ def processRefresh (ws , message_json ):
60+
61+ print ("RECEIVED: Refresh Message" )
62+ decodeFieldList (message_json ["Fields" ])
63+
64+
65+ def processUpdate (ws , message_json ):
66+ #print("RECEIVED: Update Message")
67+ #print(json.dumps(message_json, sort_keys=True, indent=2, separators=(',', ':')))
5468
69+ fields_data = message_json ["Fields" ]
70+ # Dump the FieldList first (for informational purposes)
71+ decodeFieldList (message_json ["Fields" ])
5572
56- def processUpdate (ws ):
57- return None
73+ # Get data for all requried fields
74+ fragment = fields_data ["FRAGMENT" ]
75+ frag_num = fields_data ["FRAG_NUM" ]
76+ guid = fields_data ["GUID" ]
77+ mrn_src = fields_data ["MRN_SRC" ]
78+ tot_size = fields_data ["TOT_SIZE" ]
79+
80+ # if frag_num > 1: # We are now processing more than one part of an envelope - retrieve the current details
81+ # i = 0
82+
83+
84+ def processStatus (ws , message_json ):
85+ print ("RECEIVED: Status Message" )
86+ print (json .dumps (message_json , sort_keys = True , indent = 2 , separators = (',' , ':' )))
5887
5988
6089''' JSON-OMM Process functions '''
@@ -63,12 +92,19 @@ def processUpdate(ws):
6392def process_message (ws , message_json ):
6493 """ Parse at high level and output JSON of message """
6594 message_type = message_json ['Type' ]
95+ message_domain = message_json ['Domain' ]
6696
6797 if message_type == "Refresh" :
6898 if 'Domain' in message_json :
69- message_domain = message_json ['Domain' ]
99+ # message_domain = message_json['Domain']
70100 if message_domain == "Login" :
71101 process_login_response (ws , message_json )
102+ elif message_domain == mrn_domain :
103+ processRefresh (ws , message_json )
104+ elif message_type == "Update" and message_domain == mrn_domain :
105+ processUpdate (ws , message_json )
106+ elif message_type == "Status" :
107+ processStatus (ws , message_json )
72108 elif message_type == "Ping" :
73109 pong_json = {'Type' : 'Pong' }
74110 ws .send (json .dumps (pong_json ))
@@ -124,9 +160,9 @@ def send_login_request(ws):
124160
125161def on_message (ws , message ):
126162 """ Called when message received, parse message into JSON for processing """
127- print ("RECEIVED: " )
163+ # print("RECEIVED: ")
128164 message_json = json .loads (message )
129- print (json .dumps (message_json , sort_keys = True , indent = 2 , separators = (',' , ':' )))
165+ # print(json.dumps(message_json, sort_keys=True, indent=2, separators=(',', ':')))
130166
131167 for singleMsg in message_json :
132168 process_message (ws , singleMsg )
0 commit comments