Skip to content
Snippets Groups Projects
Commit 99ddb0e7 authored by Kien Le's avatar Kien Le
Browse files

Read mass position lines

parent 13d34a4c
No related branches found
No related tags found
1 merge request!191Read log files generated by users
......@@ -56,41 +56,45 @@ def detect_log_file_packet_format(packet: List[str]) -> LogFileFormat:
def parse_soh_packet_no_type(packet: List[str]):
eh_et_lines = []
soh_lines = packet
return eh_et_lines, soh_lines
masspos_lines = []
return eh_et_lines, soh_lines, masspos_lines
def parse_soh_packet_logpeek(packet: List[str]):
eh_et_lines = []
soh_lines = []
masspos_lines = []
for line in packet:
if line.startswith('DAS: '):
eh_et_lines.append(line)
else:
elif line.startswith('LPMP'):
soh_lines.append(line)
return eh_et_lines, soh_lines
return eh_et_lines, soh_lines, masspos_lines
def parse_soh_packet_rt2ms(packet: List[str]):
eh_et_lines = []
soh_lines = []
masspos_lines = []
if packet[0].startswith('EH') or packet[0].startswith('ET'):
# The event info is summarized in the last line of an event info packet
eh_et_lines = [packet[-1]]
else:
soh_lines = packet[1:]
return eh_et_lines, soh_lines
return eh_et_lines, soh_lines, masspos_lines
def parse_soh_packet_sohstationviewer(packet: List[str]):
eh_et_lines = []
soh_lines = []
masspos_lines = []
if packet[0].startswith('Events:'):
eh_et_lines = packet[1:]
else:
soh_lines = packet
return eh_et_lines, soh_lines
return eh_et_lines, soh_lines, masspos_lines
......@@ -121,7 +125,7 @@ class LogFile:
self.file.close()
Parser = Callable[[List[str]], Tuple[List[str], List[str]]]
Parser = Callable[[List[str]], Tuple[List[str], List[str], List[str]]]
PACKET_PARSERS: Dict[Optional[LogFileFormat], Parser] = {
None: parse_soh_packet_no_type,
'sohstationviewer': parse_soh_packet_sohstationviewer,
......@@ -162,6 +166,7 @@ class LogFileReader:
self.log_file_type: Optional[LogFileFormat] = None
self.eh_et_lines = []
self.soh_lines = []
self.masspos_lines = []
self.station_code: Optional[str] = None
self.experiment_number: Optional[str] = None
......@@ -172,7 +177,7 @@ class LogFileReader:
self.log_file_type = detect_log_file_packet_format(packet)
parser = PACKET_PARSERS[self.log_file_type]
eh_et_lines, soh_lines = parser(packet)
eh_et_lines, soh_lines, masspos_lines = parser(packet)
if self.station_code is None and soh_lines:
self.station_code = soh_lines[0].split(' ')[-1].strip()
if self.experiment_number is None and soh_lines:
......@@ -181,6 +186,7 @@ class LogFileReader:
self.eh_et_lines.extend(eh_et_lines)
self.soh_lines.extend(soh_lines)
self.soh_lines.append('\n')
self.masspos_lines.extend(masspos_lines)
if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment