Add guard clauses to prevent parsing incomplete data

This commit is contained in:
XANTRONIX 2025-04-04 12:09:18 -04:00
parent 665a3da997
commit 8f854a78e8

View file

@ -370,6 +370,9 @@ class RAOBObs():
station = self.tokens[1]
samples = list()
if self.tokens[2] == 'MISDA':
return None
sample = self.parse_ttaa_sample(self.tokens[2:5])
samples.append(sample)
@ -415,7 +418,7 @@ class RAOBObs():
'dewpoint': None
}
if len(tokens) > 1:
if len(tokens) > 1 and len(tokens[1]) == 5:
td = self.parse_temp_dewpoint(tokens[1])
ret['temp'] = td.get('temp')
ret['dewpoint'] = td.get('dewpoint')
@ -427,6 +430,12 @@ class RAOBObs():
station = self.tokens[1]
samples = list()
if len(self.tokens) < 5:
return None
if self.tokens[2] == 'MISDA':
return None
sample = self.parse_ttbb_sample(self.tokens[2:4])
samples.append(sample)
@ -481,6 +490,12 @@ class RAOBObs():
station = self.tokens[1]
samples = list()
if len(self.tokens) < 7:
return None
if self.tokens[2] == 'MISDA':
return None
for i in range(2, len(self.tokens), 4):
data = self.parse_ppbb_samples(self.tokens[i:i+4])