Refresh the GTFS bundle every time the program starts.

This commit is contained in:
2026-05-25 07:45:35 +01:00
parent 2957ccf1ff
commit dc368ca811
6 changed files with 122 additions and 147 deletions
+10 -9
View File
@@ -1,15 +1,13 @@
mod arrival;
mod loader;
mod utils;
mod refresher;
pub mod structs;
use chrono::{DateTime, Local, Timelike};
use log::{debug};
use std::{
collections::{HashMap, HashSet}, fs::File, io::Error
};
use log::{debug, trace};
use std::{collections::{HashMap, HashSet}, fs::File };
use gtfs_structures::{Exception, RawTrip};
use crate::gtfs::{loader::load_gtfs, structs::{Arrival, Gtfs, Preferences}};
use crate::gtfs::{loader::load_gtfs, structs::{Arrival, Gtfs, Preferences, Error}};
impl Gtfs {
@@ -75,7 +73,7 @@ impl Gtfs {
trip: &trip,
departure_time: stop_timestamp.into()
};
debug!("{:#?}: Arrival to {:#?} for trip ID {:#?}.",
trace!("{:#?}: Arrival to {:#?} for trip ID {:#?}.",
format!("{:02}:{:02}", (arrival.departure_time/3600) as u32, ((arrival.departure_time / 60) % 60) as u32),
arrival.trip.trip_headsign.as_ref().unwrap(),
arrival.trip.id);
@@ -91,9 +89,12 @@ impl Gtfs {
/// Load a GTFS structure from a zip file
pub fn load(src_file: &str, prefs: &Preferences) -> Result<Gtfs, Error> {
pub fn load(prefs: &Preferences) -> Result<Gtfs, Error> {
_ = refresher::refresh(prefs);
// Open zip file
let zip_file = File::open(src_file)?;
let zip_file = File::open(prefs.gtfs_file_path()?)?;
let mut zip_reader = zip::ZipArchive::new(zip_file)?;
let mut gtfs: Gtfs = Gtfs {