Commit graph

49 commits

Author SHA1 Message Date
c5bf143c55
Lower dependency on reqwest to 0.11.27
This prevents duplicate usage of two different versions of the `reqwest`
crate.
2024-07-27 15:36:55 +02:00
964b2f5603
Bump the dependency on cached to 0.53.1 2024-07-27 15:33:17 +02:00
7492d3b524
Switch build dependency on the vergen crate to vergen-git2 2024-07-27 15:32:21 +02:00
ba1b27fd66
Bump the version to 0.2.12
Some checks failed
Check, lint and test using Cargo / Check, lint and test (push) Failing after 9m37s
Release / Release Rust crate (push) Successful in 4m37s
Release / Release Debian package (push) Has been cancelled
Release / Release (push) Has been cancelled
2024-05-09 12:29:47 +02:00
8e5a1ef305
Bump dependency on reqwest to 0.12.4 2024-05-09 12:25:46 +02:00
6c39cac26e
Bump dependency on image to 0.25.1
Also only enable the `png` feature and update a deprecated output format
definition.
2024-05-09 12:24:44 +02:00
f1ee03d96c
Bump dependency on chrono-tz to 0.9.0 2024-05-09 12:24:41 +02:00
98f60cba89
Bump dependency on cached to 0.51.3 2024-05-09 12:24:39 +02:00
88c59cdb1f
Bump the version to 0.2.11
All checks were successful
Check, lint and test using Cargo / Check, lint and test (push) Successful in 4m18s
Release / Release (push) Successful in 1m3s
Release / Release Rust crate (push) Successful in 3m1s
Release / Release Debian package (push) Successful in 5m12s
2024-02-27 16:07:22 +01:00
c2450267e0
Bump the version to 0.2.10
All checks were successful
Check, lint and test using Cargo / Check, lint and test (push) Successful in 5m42s
Release / Release (push) Successful in 1m35s
Release / Release Rust crate (push) Successful in 4m10s
Release / Release Debian package (push) Successful in 6m3s
2023-11-03 10:41:56 +01:00
f8ea25c516
Bump the dependency on cached to 0.46.0 2023-11-03 10:39:49 +01:00
1211fea46a
Bump the version to 0.2.9
Some checks failed
Check, lint and test using Cargo / Check, lint and test (push) Successful in 6m10s
Release / Release (push) Successful in 1m47s
Release / Release Rust crate (push) Successful in 4m28s
Release / Release Debian package (push) Failing after 6m22s
2023-08-25 20:48:46 +02:00
07e0701106
Bump the version to 0.2.8
All checks were successful
Check, lint and test using Cargo / Check, lint and test (push) Successful in 12m45s
Release / Release (push) Successful in 12m16s
Release / Release crate (push) Successful in 10m0s
2023-06-04 12:13:46 +02:00
27e1ac726c
Bump dependency on cached to 0.44.0 2023-06-04 12:12:54 +02:00
50b0e94839
Properly attribute the PAQI metric
All checks were successful
Check, lint and test using Cargo / Check, lint and test (push) Successful in 5m45s
2023-05-29 16:37:16 +02:00
ab6001f072 Use the vergen crate to generate version information
* Add depend on the `vergen` crate (only use the `build`, `git` and
  `gitcl` features)
* Add the build script `build.rs` to setup the environment variables
  from the build system
2023-05-29 15:48:36 +02:00
9bb9d248a8
Bump the version to 0.2.7
All checks were successful
Check, lint and test using Cargo / Check, lint and test (push) Successful in 5m39s
Release / Release (push) Successful in 7m29s
Release / Release crate (push) Successful in 4m8s
2023-05-26 20:17:31 +02:00
afca20c96f
Bump the version to 0.2.6
Some checks failed
Check, lint and test using Cargo / Check, lint and test (push) Successful in 5m35s
Release / Release (push) Successful in 8m17s
Release / Release crate (push) Failing after 4m12s
2023-05-24 22:17:59 +02:00
a289bd9ef0
Bump the version to 0.2.5
All checks were successful
Check
Lints
Test Suite
2023-03-24 13:10:22 +01:00
1426405943
Bump dependencies on cached and chrono-tz 2023-03-24 13:05:42 +01:00
34be96d187
Update to Rocket 0.5.0-rc.3 2023-03-24 13:04:56 +01:00
c8970fa3bb
Cargo update 2022-10-17 19:53:01 +02:00
aee3409f4a Bump dependency on cached to 0.38.0
This fixes the unused `*_prime_cache` compile warnings.
2022-08-12 09:46:17 +02:00
8b03f2162b
Bump dependency on geocoding to 0.4.0
This finally removes the duplicate dependency tree on older versions of
crates we're already using (chrono, request, etc.).
2022-07-17 13:25:22 +02:00
2e999f5a78
Bump the version to 0.2.4 2022-07-05 14:42:51 +02:00
69ef08002c
Introduce error types, switch to Results everywhere
* Add dependency on the `thiserror` crate
* Add a global `Error` type, but also `maps::Error` and
  `providers::combined::MergeError` for convenience
* Add matching `Result` types that default to the respective `Error`
  type
* Refactor code to yield all kinds of error variants
* Add FIXMEs where library errors still need to be handled
* Remove documentation that explained why `None` was returned, this is
  captured in the error now
2022-06-06 15:37:54 +02:00
aab3b737be
Run map refresher as an ad hoc liftoff fairing
* Simplify the library `setup()` method
* Simplify launching Rocket
* Drop dependency on color-eyre
2022-06-05 21:25:56 +02:00
b88c7f77a0
Bump the version to 0.2.3 2022-05-21 09:49:18 +02:00
f0cc54f074
Bump the version to 0.2.2 2022-05-10 14:58:21 +02:00
e204e7905c
Update to Rocket 0.5-rc.2 2022-05-10 14:55:57 +02:00
e5e006dc00
Bump the version to 0.2.1 2022-05-08 14:02:47 +02:00
5d37c5b5ee
Bump the version to 0.2.0 2022-05-07 21:55:03 +02:00
7feae97ee2
Bump dependencies; cargo update 2022-05-07 20:21:09 +02:00
32964cea21
Add basic top-level tests
This starts to address #14 but didn't turn into a full MR yet.

* Use crates `assert_float_eq` and `assert_matches` for extra assertions
* Split off a function to build a Rocket `rocket()` that can be used
  in the tests
2022-03-11 16:03:56 +01:00
65a4420191
Bump dependency; cargo update
Bump the dependency on `cached` to 0.32.0 (fixes documentation)
2022-02-26 09:36:15 +01:00
512f170804 Bump dependencies; cargo update
* Bump the dependency on `image` to 0.24.1 (PNG bugfix)
* Bump the dependency on `cached` to 0.31.0 (I/O caching support?)
2022-02-25 15:26:44 +01:00
9cd4be160c Update description; add authors and repository fields 2022-02-21 21:05:50 +01:00
9e9955fb58 Add Debian packaging via cargo-deb
* Add the required metadata to `Cargo.toml`
* Add a systemd unit file
* Use `Rocket.toml.example` as the default configuration
2022-02-21 20:55:00 +01:00
84a434268f
Add README.md and LICENSE file (closes: #6)
Also link the files from the crate and include `README.md` as main crate
documentation.
2022-02-21 17:48:28 +01:00
7061842bd3
Sort Cargo.toml 2022-02-16 22:20:20 +01:00
8d19dbb517
Implement caching for provider get requests (closes: #2)
* Also cache address geocoding requests to OSM Nomatim!
* Use the `cached` crate for an easy implementation
* Add the `cache_key` helper function to deal with floats being annoying
* Cache Buienradar get request for 5 minutes (per position/metric)
* Cache Luchtmeetnet get request for 5 minutes (per position/metric)
* Note the `Item` structs need to implement `Clone` now because
  the cache will own them and Rocket will want a copy too
2022-02-14 21:06:31 +01:00
79dac18655
Parse Buienradar as CSV file using serde
* Add the `csv` crate as a dependency
* Use the `Row` struct as intermediate object
* Turn the `parse_value` function into the `convert_value` function that
  cannot fail
2022-02-13 16:46:02 +01:00
6279d379ab
Add the Buienradar provider 2022-02-13 15:38:17 +01:00
59c177d508
Add the Luchtmeetnet provider
Also introduce the providers module.
2022-02-13 12:45:27 +01:00
9b9b1a5f77
Refactor so that no static is necessary for the maps cache
* Replace the lazy `once_cell` by a maps handle type
* Use Rocket's managed state to manage a handle
* Ensure that the handlers have access to it
* Pass another handle to the maps updater loop
* Try to keep the lock as short as possible

Still, long downloads block the lock. Add a FIXME to refactor this
so the lock is only taken when updating the maps fields.
2022-02-12 21:35:58 +01:00
72fe9577bd
Implement retrieving and caching maps 2022-02-12 21:08:13 +01:00
d058ab4448
Set up a global maps (cache) object 2022-02-12 17:20:36 +01:00
b5dae45868
Create maps cache and run its task next to Rocket 2022-02-12 17:12:06 +01:00
0b5e980f04
Initial import into Git 2022-02-12 15:03:00 +01:00