Files
rs-dublinbus/src/gtfs/utils.rs
T

27 lines
860 B
Rust

use std::collections::HashSet;
use crate::gtfs::Gtfs;
pub(crate) fn stop_ids_from_codes(gtfs: &Gtfs, stop_codes: &HashSet<String>) -> HashSet<String> {
let mut ids: HashSet<String> = HashSet::new();
for stop in &gtfs.stops {
let stop_number = stop.1.code.as_ref();
if stop_number.is_some() && stop_codes.contains(stop_number.unwrap().as_str()) {
ids.insert(stop.0.clone());
}
}
return ids;
}
pub(crate) fn route_ids_from_numbers(gtfs: &Gtfs, route_numbers: &HashSet<String>) -> HashSet<String> {
let mut ids: HashSet<String> = HashSet::new();
for route in &gtfs.routes {
let route_number = route.1.short_name.as_ref();
if route_number.is_some() && route_numbers.contains(route_number.unwrap().as_str()) {
ids.insert(route.0.clone());
}
}
return ids;
}