refactored fetch_data-function and added station_id as parameter

This commit is contained in:
Ollo
2026-02-28 21:04:36 +01:00
parent b5fa9dd5ec
commit fc3fc65d64
2 changed files with 7 additions and 5 deletions

View File

@@ -34,7 +34,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut last_request = Instant::now(); let mut last_request = Instant::now();
let interval = Duration::from_secs(args.interval as u64); let interval = Duration::from_secs(args.interval as u64);
let mut departure_data = tokio::task::spawn_blocking(|| straba::fetch_data(Some(true))) let mut departure_data = tokio::task::spawn_blocking(|| straba::fetch_data(2494, Some(true)))
.await .await
.unwrap(); .unwrap();
let mut data_published = false; let mut data_published = false;
@@ -44,7 +44,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
if now.duration_since(last_request) > interval { if now.duration_since(last_request) > interval {
data_published = false; data_published = false;
last_request = Instant::now(); last_request = Instant::now();
departure_data = tokio::task::spawn_blocking(|| straba::fetch_data(Some(false))) departure_data = tokio::task::spawn_blocking(|| straba::fetch_data(2494, Some(false)))
.await .await
.unwrap(); .unwrap();
if departure_data.failure { if departure_data.failure {

View File

@@ -3,7 +3,9 @@ use std::time::{SystemTime, UNIX_EPOCH};
use serde::Deserialize; use serde::Deserialize;
const STATION_URL: &str = "https://www.rnv-online.de/rest/departure/2494"; const LOOKUP_STATION_URL: &str = "https://www.rnv-online.de/rest/stop?name=";
const STATION_URL: &str = "https://www.rnv-online.de/rest/departure/";
/* ******************** JSON Description ****************************** */ /* ******************** JSON Description ****************************** */
#[derive(Default, Debug, Clone, PartialEq, Deserialize)] #[derive(Default, Debug, Clone, PartialEq, Deserialize)]
@@ -79,10 +81,10 @@ pub struct NextDeparture {
pub failure: bool, pub failure: bool,
} }
pub fn fetch_data(debug_print: Option<bool>) -> NextDeparture { pub fn fetch_data(station_id: u64, debug_print: Option<bool>) -> NextDeparture {
let st_now = SystemTime::now(); let st_now = SystemTime::now();
let seconds = st_now.duration_since(UNIX_EPOCH).unwrap().as_secs(); let seconds = st_now.duration_since(UNIX_EPOCH).unwrap().as_secs();
let url = &format!("{}?datetime={}", STATION_URL, seconds); let url = &format!("{}{}?datetime={}", STATION_URL, station_id, seconds);
let result = reqwest::blocking::get(url); let result = reqwest::blocking::get(url);
let mut return_value = NextDeparture { let mut return_value = NextDeparture {