biome-api-data: fix parsing

This commit is contained in:
Pavel Korytov 2023-07-16 13:16:22 +03:00
parent cebabaf1df
commit 1655c69a3b
2 changed files with 42 additions and 9 deletions

View file

@ -1449,14 +1449,18 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("timezone" ("timezone"
(:name . "Timezone")
(:type . timezone)) (:type . timezone))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)))))) (:type . date))))))
("NOAA GFS & HRRR" ("NOAA GFS & HRRR"
(:name . "NOAA GFS & HRRR") (:name . "NOAA GFS & HRRR")
@ -3215,10 +3219,10 @@
("temperature_50m" ("temperature_50m"
(:name . "Temperature (50 m)") (:name . "Temperature (50 m)")
(:type . checkbox)) (:type . checkbox))
("temperature_100m"
(:type . checkbox))
("temperature_100m" ("temperature_100m"
(:name . "Temperature (100 m)") (:name . "Temperature (100 m)")
(:type . checkbox))
("temperature_150m"
(:name . "Temperature (150 m)") (:name . "Temperature (150 m)")
(:type . checkbox)) (:type . checkbox))
("temperature_200m" ("temperature_200m"
@ -3735,12 +3739,15 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)))))) (:type . date))))))
("JMA" ("JMA"
(:name . "JMA") (:name . "JMA")
@ -4329,14 +4336,18 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("timezone" ("timezone"
(:name . "Timezone")
(:type . timezone)) (:type . timezone))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)))))) (:type . date))))))
("GEM" ("GEM"
(:name . "GEM") (:name . "GEM")
@ -5482,6 +5493,7 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("timezone" ("timezone"
(:name . "Timezone")
(:type . timezone)))) (:type . timezone))))
((:param . "models") ((:param . "models")
(:name . "Reanalysis models") (:name . "Reanalysis models")
@ -5687,18 +5699,23 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("forecast_days" ("forecast_days"
(:name . "Forecast days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 16)) (:max . 16))
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)) (:type . date))
("timezone" ("timezone"
(:name . "Timezone")
(:type . timezone)))) (:type . timezone))))
((:param . "models") ((:param . "models")
(:name . "Ensemble Models") (:name . "Ensemble Models")
@ -5808,8 +5825,10 @@
((:name . "Specify Time Interval") ((:name . "Specify Time Interval")
(:fields (:fields
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)))) (:type . date))))
((:name . "Settings") ((:name . "Settings")
(:fields (:fields
@ -5880,7 +5899,8 @@
("longitude" ("longitude"
(:name . "Longitude") (:name . "Longitude")
(:type . float)))) (:type . float))))
((:name . "Hourly Marine Variables") ((:param . "hourly")
(:name . "Hourly Marine Variables")
(:fields (:fields
("wave_height" ("wave_height"
(:name . "Wave Height") (:name . "Wave Height")
@ -5915,7 +5935,8 @@
("swell_wave_peak_period" ("swell_wave_peak_period"
(:name . "Swell Wave Peak Period") (:name . "Swell Wave Peak Period")
(:type . checkbox)))) (:type . checkbox))))
((:name . "Daily Marine Variables") ((:param . "daily")
(:name . "Daily Marine Variables")
(:fields (:fields
("wave_height_max" ("wave_height_max"
(:name . "Wave Height Max") (:name . "Wave Height Max")
@ -5992,7 +6013,8 @@
("longitude" ("longitude"
(:name . "Longitude") (:name . "Longitude")
(:type . float)))) (:type . float))))
((:name . "Hourly Air Quality Variables") ((:param . "hourly")
(:name . "Hourly Air Quality Variables")
(:children (:children
((:name . "European Air Quality Index") ((:name . "European Air Quality Index")
(:fields (:fields
@ -6099,6 +6121,7 @@
("cams_global" . "Global (40 km)") ("cams_global" . "Global (40 km)")
("cams_europe" . "European (11 km)"))) ("cams_europe" . "European (11 km)")))
("timezone" ("timezone"
(:name . "Timezone")
(:type . timezone)) (:type . timezone))
("timeformat" ("timeformat"
(:name . "Timeformat") (:name . "Timeformat")
@ -6107,12 +6130,15 @@
("iso8601" . "ISO 8601 (e.g. 2022-12-31)") ("iso8601" . "ISO 8601 (e.g. 2022-12-31)")
("unixtime" . "Unix timestamp"))) ("unixtime" . "Unix timestamp")))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)))))) (:type . date))))))
("Flood" ("Flood"
(:name . "Flood") (:name . "Flood")
@ -6159,14 +6185,18 @@
((:name . "Settings") ((:name . "Settings")
(:fields (:fields
("start_date" ("start_date"
(:name . "Start date")
(:type . date)) (:type . date))
("end_date" ("end_date"
(:name . "End date")
(:type . date)) (:type . date))
("past_days" ("past_days"
(:name . "Past days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 92)) (:max . 92))
("forecast_days" ("forecast_days"
(:name . "Forecast days")
(:type . number) (:type . number)
(:min . 0) (:min . 0)
(:max . 16)) (:max . 16))
@ -6197,7 +6227,7 @@
("consolidated_v4" ("consolidated_v4"
(:name . "GloFAS v4 Consolidated") (:name . "GloFAS v4 Consolidated")
(:type . checkbox))))))) (:type . checkbox)))))))
"open-meteo API docs data.\nCheck `biome-api-parse--page' for the format.") "Open-meteo API docs data.")
(defconst biome-api-timezones (defconst biome-api-timezones

View file

@ -99,6 +99,9 @@
("Hourly Weather Variables" . "hourly") ("Hourly Weather Variables" . "hourly")
("15-Minutely Weather Variables" . "minutely_15") ("15-Minutely Weather Variables" . "minutely_15")
("3-Hourly Weather Variables" . "hourly") ("3-Hourly Weather Variables" . "hourly")
("Hourly Marine Variables" . "hourly")
("Daily Marine Variables" . "daily")
("Hourly Air Quality Variables" . "hourly")
("Weather models" . "models") ("Weather models" . "models")
("Flood Models" . "models") ("Flood Models" . "models")
("Reanalysis models" . "models") ("Reanalysis models" . "models")
@ -430,14 +433,14 @@ them to biome-api-data.el."
(let ((timezones (biome-api-parse--timezones))) (let ((timezones (biome-api-parse--timezones)))
(cl-loop for datum in biome-api-parse--urls (cl-loop for datum in biome-api-parse--urls
do (biome-api-parse--datum datum)) do (biome-api-parse--datum datum))
(setq biome-api-parse--data (nreverse biome-api-parse--data))
(let ((buffer (generate-new-buffer "*biome-generated*"))) (let ((buffer (generate-new-buffer "*biome-generated*")))
(with-current-buffer buffer (with-current-buffer buffer
(emacs-lisp-mode) (emacs-lisp-mode)
(insert (pp-to-string (insert (pp-to-string
`(defconst biome-api-data `(defconst biome-api-data
',biome-api-parse--data ',(reverse biome-api-parse--data)
"open-meteo API docs data.\\nCheck `biome-api-parse--page' for the format.")) ;; ',biome-api-data
"Open-meteo API docs data."))
"\n\n" "\n\n"
(pp-to-string (pp-to-string
`(defconst biome-api-timezones `(defconst biome-api-timezones