Skip to content

Commit 755aa73

Browse files
authored
add bad-line test case igc. fix test by skipping unparseable values (#329)
1 parent b9aa4a0 commit 755aa73

File tree

2 files changed

+63
-3
lines changed

2 files changed

+63
-3
lines changed

aerofiles/igc/reader.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,12 @@ def process_B_record(decoded_b_record, fix_record_extensions):
250250
start_byte = start_byte - i - 1
251251
end_byte = end_byte - i - 1
252252

253-
b_record.update(
254-
{extension['extension_type']: int(ext[start_byte:end_byte + 1])}
255-
)
253+
try:
254+
b_record.update(
255+
{extension['extension_type']: int(ext[start_byte:end_byte + 1])}
256+
)
257+
except ValueError: # Some lines can be malformatted with unexpected string values. Skip these
258+
continue
256259

257260
return b_record
258261

tests/igc/data/bad-line.igc

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
ALXV79MFLIGHT:1
2+
HFDTE050822
3+
HFFXA015
4+
HFPLTPILOT:
5+
HFCM2CREW2:
6+
HFGTYGLIDERTYPE:ASG 29E 18m
7+
HFGIDGLIDERID:D-KGSA
8+
HFDTM100GPSDATUM:WGS-1984
9+
HFRFWFIRMWAREVERSION:9.0
10+
HFRHWHARDWAREVERSION:3
11+
HFFTYFRTYPE:LXNAV,LX9000F
12+
HFGPSRECEIVER:uBLOX LEA-4S-2,16,max9000m
13+
HFPRSPRESSALTSENSOR:INTERSEMA,MS5561C,max16000m
14+
HFFRSSECURITYOK
15+
HFALGALTGPS:WGS84 ELLIPSOID
16+
HFCIDCOMPETITIONID:29
17+
HFCCLCOMPETITIONCLASS:18-meter
18+
HFTZNTIMEZONE:2.0
19+
I083638FXA3941ENL4246TAS4751GSP5254TRT5559VAT6063OAT6467ACZ
20+
J020810WDI1115WVE
21+
C050822094632000000000305
22+
C0000000N00000000E
23+
C4826967N00136183E002departSud
24+
C4826850N00006550E005Alencon-Valframbert
25+
C4738450N00009350E135Le Lude
26+
C4818233N00114800E109Illiers-Combray
27+
C4809350N00245800E085Dordives
28+
C4823383N00143883E207Santeuil
29+
C4830983N00138417E001BailleauArmenonville
30+
C0000000N00000000E
31+
LLXVOZ=-1,Style=2,R1=5000m,A1=180,R2=0m,A2=0,A12=270.4,Line=1,Autonext=0,Lat=4826.967N,Lon=00136.183E
32+
LLXVOZ=0,Style=1,R1=20000m,A1=45,R2=500m,A2=180,A12=134.1,Autonext=1,Lat=4826.850N,Lon=00006.550E
33+
LLXVOZ=1,Style=1,R1=20000m,A1=45,R2=500m,A2=180,A12=22.6,Autonext=1,Lat=4738.450N,Lon=00009.350E
34+
LLXVOZ=2,Style=1,R1=20000m,A1=45,R2=500m,A2=180,A12=162.6,Autonext=1,Lat=4818.233N,Lon=00114.800E
35+
LLXVOZ=3,Style=1,R1=20000m,A1=45,R2=500m,A2=180,A12=283.4,Autonext=1,Lat=4809.350N,Lon=00245.800E
36+
LLXVOZ=4,Style=1,R1=20000m,A1=45,R2=500m,A2=180,A12=41.8,Autonext=1,Lat=4823.383N,Lon=00143.883E
37+
LLXVOZ=5,Style=3,R1=3000m,A1=180,R2=0m,A2=0,A12=154.5,Elev=320m,Autonext=0,Lat=4830.983N,Lon=00138.417E
38+
LLXVTSK,TaskTime=0s,GateIntSec=0,Near=true
39+
LLXVGEN:2
40+
LLXVWAKE:3528
41+
LLXVLXNAV V9:9.00,SN#02022
42+
LLXVVIND,SN#00948,SW5.26,HW15
43+
LLXVFLARM:LXV,7.0.6,3E6D9C
44+
LLXVFLARM:MODE,ON
45+
LLXVFLARM:COMPMODE,OFF
46+
LLXVFLARM:TRACKING,ON
47+
LLXVIASAUTOZERO:0
48+
B1035324830895N00138319EA00092001910072600000000000288-000102110090
49+
F103532270308211410013222
50+
B1035334830895N00138318EA00093001910073390000000000288-000102120090
51+
B1035354830895N00138318EA00092001910072910000000004286-000102120090
52+
B1035364830895N00138319EA00093001910072630000000005290-000102120090
53+
B1350174747310N00025022EA01308014470080041674516315071-021301010100
54+
B1350184747318N00025056EA01307014470080041653816206072-021401010100
55+
B1350194747325N00025090EA01308014470080041629316071072-022401010cKYI
56+
B1350204747332N00025124EA01307014470080041604815924072-023901010100
57+
B1350214747339N00025158EA01307014470080041590315788073-025001010090

0 commit comments

Comments
 (0)