From d90842d0b00df9628028eb7dcfbd85a02e21ba8c Mon Sep 17 00:00:00 2001 From: elij Date: Wed, 22 Sep 2021 13:42:49 -0700 Subject: [PATCH] add script with some source options, as maia.usno.navy.mil is still down --- .github/workflows/unit-tests.yml | 2 +- .gitignore | 1 + tools/generate.go | 6 +++--- tools/update-leaps.sh | 12 ++++++++++++ 4 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100755 tools/update-leaps.sh diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f127963..2f14675 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -10,7 +10,7 @@ jobs: name: Build strategy: matrix: - goVer: ["1.11.x", "1.12.x", "1.13.x"] + goVer: ["1.13.x", "1.17.x"] platform: [ubuntu-latest] runs-on: ${{ matrix.platform }} steps: diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f7f7288 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/leaps.dat diff --git a/tools/generate.go b/tools/generate.go index 88223ef..4ee6a78 100644 --- a/tools/generate.go +++ b/tools/generate.go @@ -106,12 +106,12 @@ func main() { } line = strings.TrimSpace(line) - if line == "" { + if line == "" || strings.HasPrefix(line, ";") { continue } parts := strings.Fields(line) - t, err := time.Parse("2006 Jan 2", strings.Title(strings.Join(parts[0:3], " "))) + t, err := time.Parse("2006-1-2", strings.Title(strings.Join(parts[0:3], "-"))) if err != nil { fmt.Println(err) continue @@ -121,7 +121,7 @@ func main() { continue } - s, err := strconv.ParseFloat(parts[6], 32) + s, err := strconv.ParseFloat(parts[3], 32) if err != nil { fmt.Println(err) continue diff --git a/tools/update-leaps.sh b/tools/update-leaps.sh new file mode 100755 index 0000000..c6f1d66 --- /dev/null +++ b/tools/update-leaps.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# sometimes sites go offline, so list a few options. +# just use one. +{ + #curl -s 'http://maia.usno.navy.mil/ser7/tai-utc.dat' + #curl -s 'https://cdf.gsfc.nasa.gov/html/CDFLeapSeconds.txt' + #curl -s 'https://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat'| grep -v '^#'| awk '{print $4" "$3" "$2" "$5}' +} > leaps.dat + +go run ./tools/generate.go -input leaps.dat -output offsets.go -pkg tai64 +go fmt offsets.go