@@ -87,27 +87,30 @@ def create_records(self, msg_text):
8787 # recreate message as string having removed header
8888 msg_text = '\n ' .join (lines )
8989
90- created_records = []
91-
9290 # crop the string to before the first ':'
9391 index = header .index (':' )
9492 msg_header_type = header [0 :index ].strip ()
9593 # msg_header_version = header[index:].strip()
9694
97- if msg_header_type == RecordFactory .JR_HEADER :
98- created_records = self ._create_record_objects (msg_text , JobRecord )
99- elif header .strip () == RecordFactory .SR_HEADER :
100- created_records = self ._create_record_objects (msg_text , SummaryRecord )
101- elif header .strip () == RecordFactory .NSR_HEADER :
102- created_records = self ._create_record_objects (msg_text , NormalisedSummaryRecord )
103- elif msg_header_type == RecordFactory .SYNC_HEADER :
104- created_records = self ._create_record_objects (msg_text , SyncRecord )
105- elif msg_header_type == RecordFactory .CLOUD_HEADER :
106- created_records = self ._create_record_objects (msg_text , CloudRecord )
107- elif msg_header_type == RecordFactory .CLOUD_SUMMARY_HEADER :
108- created_records = self ._create_record_objects (msg_text , CloudSummaryRecord )
109- else :
110- raise RecordFactoryException ('Message type %s not recognised.' % header )
95+ record_mapping = {
96+ RecordFactory .JR_HEADER : JobRecord ,
97+ RecordFactory .SR_HEADER : SummaryRecord ,
98+ RecordFactory .NSR_HEADER : NormalisedSummaryRecord ,
99+ RecordFactory .SYNC_HEADER : SyncRecord ,
100+ RecordFactory .CLOUD_HEADER : CloudRecord ,
101+ RecordFactory .CLOUD_SUMMARY_HEADER : CloudSummaryRecord ,
102+ }
103+
104+ try :
105+ record_type = record_mapping [msg_header_type ]
106+ except KeyError :
107+ try :
108+ # Use the full header to distinguish normalised and non-norm summaries.
109+ record_type = record_mapping [header ]
110+ except KeyError :
111+ raise RecordFactoryException ('Message type %s not recognised.' % header )
112+
113+ created_records = self ._create_record_objects (msg_text , record_type )
111114
112115 return created_records
113116
0 commit comments