From af44bb03954019d358ae5da7fac4647e2f35d04e Mon Sep 17 00:00:00 2001 From: Emile Date: Wed, 25 Sep 2019 16:53:39 +0200 Subject: added support for an enmpty international designator --- convert.go | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/convert.go b/convert.go index 15c3962..8e9f88a 100644 --- a/convert.go +++ b/convert.go @@ -48,21 +48,32 @@ func parseLineOne(SplitTLE []string) (LineOne, error) { return LineOne{}, fmt.Errorf("%s: %#v\n%v", "Could not parse the Satellite Number", SplitTLE[1][2:7], err) } - // Parse the launch year - LaunchYear, err := strconv.Atoi(SplitTLE[1][9:11]) - if err != nil { - return LineOne{}, fmt.Errorf("%s: %#v\n%v", "Could not parse the Launch Year", SplitTLE[1][9:11], err) + var LaunchYear int + var LaunchNumber int + var LaunchPiece string + + if SplitTLE[1][9:16] == " " { + LaunchYear = -1 + LaunchNumber = -1 + LaunchPiece = "" + + } else { + // Parse the launch year + LaunchYear, err = strconv.Atoi(SplitTLE[1][9:11]) + if err != nil { + return LineOne{}, fmt.Errorf("%s: %#v\n%v", "Could not parse the Launch Year", SplitTLE[1][9:11], err) + } + + // Parse the launch number + LaunchNumber, err = strconv.Atoi(SplitTLE[1][11:14]) + if err != nil { + return LineOne{}, fmt.Errorf("%s: %#v\n%v", "Could not parse the Launch Number", SplitTLE[1][11:14], err) + } + + // Parse the launch number + LaunchPiece = strings.TrimSpace(SplitTLE[1][14:16]) } - // Parse the launch number - LaunchNumber, err := strconv.Atoi(SplitTLE[1][11:14]) - if err != nil { - return LineOne{}, fmt.Errorf("%s: %#v\n%v", "Could not parse the Launch Number", SplitTLE[1][11:14], err) - } - - // Parse the launch number - LaunchPiece := strings.TrimSpace(SplitTLE[1][14:16]) - // Parse the epoch year EpochYear, err := strconv.Atoi(SplitTLE[1][18:20]) if err != nil { -- cgit 1.4.1