Commit Graph

32 Commits

Author SHA1 Message Date
Paul van Tilburg 3c35c4fe72
Use fairing to read the My Autarco config (closes: #3)
* Read My Autarco credentials from `Rocket.toml`
* Remove custom config loading function and `autarco.toml.example`
* Update `Rocket.toml.example` but comment out the variables so that the
  user won't forget to set them
* Update `.gitignore`
* Update documentation
2023-01-03 17:12:26 +01:00
Paul van Tilburg 5d4c26789a
Configure lints 2022-08-22 21:23:32 +02:00
Paul van Tilburg 5a6f072259
Run update loop as an ad hoc liftoff fairing
* Remove the `select!` code
* Simplify creating the Rocket, let Rocket itself launch it
2022-08-22 21:22:06 +02:00
Paul van Tilburg 855d2a7eed
Add README.md, Rocket.toml.example and LICENSE file
Also link the files from the crate and include README.md documentation.
2022-08-22 21:07:17 +02:00
Paul van Tilburg 24c1d7a22a Comment out unused fields 2022-02-11 14:21:12 +01:00
Paul van Tilburg d8f61486f9 Replace the lazy_static by once_cell crate 2022-02-11 14:17:27 +01:00
Paul van Tilburg 8a9e8cf512 Fix up documentation 2021-08-29 11:01:48 +02:00
Paul van Tilburg 2421dd0f41 Split off the API/update part to the update module 2021-08-29 11:01:48 +02:00
Paul van Tilburg 6fcfe70b68 Use reqwest::Error in result; handle auth failures 2021-08-29 11:01:48 +02:00
Paul van Tilburg 42d061028d Add missing documentation 2021-08-29 11:01:48 +02:00
Paul van Tilburg 5e11643417 Increase update interval to 10 seconds; handle update errors 2021-08-29 11:01:48 +02:00
Paul van Tilburg 570cf95497 Drop thirtyfour/webdriver; use reqwest instead
* Set up a reqwest client using a cookie store
* Log in and update periodically using the reqwest client
2021-08-29 11:01:48 +02:00
Paul van Tilburg e65468bde8 Port to rocket 0.5.0-rc1 and Thirtyfour 0.19.0
Also switch to using tokio 1.6.1 (this is the version that Rocket uses).
We only need to use the "process" feature from that.
The rocket-contrib crate has been dropped by upstream.
2021-06-13 20:52:23 +02:00
Paul van Tilburg 2e6d55cb12 Gracefully handle subproces errors/shutdowns 2020-10-17 00:41:55 +02:00
Paul van Tilburg d85966ce04 Move color_eyre::install() to main() 2020-10-17 00:41:23 +02:00
Paul van Tilburg 431dc61c98 Dropping driver without quiting hangs the process 2020-10-17 00:40:25 +02:00
Paul van Tilburg b7ff296c65 Just use a single function to spawn Gecko Driver 2020-10-17 00:39:42 +02:00
Paul van Tilburg 4d86a505f3 Add/tweak just a bit of fancy logging 2020-10-10 21:14:10 +02:00
Paul van Tilburg 991b98f5f1 Panic if the login fails 2020-10-10 21:13:49 +02:00
Paul van Tilburg 1498c4f671 Just use port 4444 for Gecko Driver; don't pass the binary 2020-10-10 21:13:23 +02:00
Paul van Tilburg 881c71bced Use tokio to spawn the Gecko Driver; shutdown appropriately 2020-10-09 23:07:31 +02:00
Paul van Tilburg de36521ed7 Move the login credentials to a config file 2020-10-09 19:47:43 +02:00
Paul van Tilburg 786e9dbd74 Use println to log status updates (for now) 2020-10-09 18:36:36 +02:00
Paul van Tilburg 99d8a4c133 Pass the gecko driver port as spawn argument 2020-10-09 17:44:03 +02:00
Paul van Tilburg 00aeed1803 Use thirtyfour (async); spawn the update loop 2020-10-09 17:40:48 +02:00
Paul van Tilburg ac5b853a27 Add Rocket and provide an API endpoint to read the status
Use Rocket from Git (master) which is the 0.5 dev release that
builds on stable Rust.
2020-10-09 17:31:08 +02:00
Paul van Tilburg e579d62e7f Reorder code for consistency 2020-10-09 17:09:25 +02:00
Paul van Tilburg 063b8c5fe6 Use a lazy static to store the last status 2020-10-09 17:07:18 +02:00
Paul van Tilburg 390e31d51c Print errors during retrieval loop 2020-10-09 16:54:02 +02:00
Paul van Tilburg dc8808bf5e Split off the login/element value code; create a status struct 2020-10-09 16:50:11 +02:00
Paul van Tilburg 0754e580bd Switch to the thirtyfour(_sync) crate
Also use color_eyre for error handling/reporting.
2020-10-09 16:33:27 +02:00
Paul van Tilburg 2294383e6e Initial import into Git 2020-10-09 16:33:25 +02:00