"#);
+ departures_str.push('\n');
+ let mut table_rows = BTreeMap::<_, (String, String, usize, usize, bool)>::new();
for departure in &departures.entries {
let mut messages = vec![];
for departure in departure.iter() {
@@ -155,7 +156,7 @@ async fn index(
_ => None,
}
});
- let mut dep_str = "
".to_owned();
+ let mut dep_str = "".to_owned();
dep_str.push_str(html_escape::encode_safe(line_name).as_ref());
let platform = departure
.platform
@@ -241,7 +242,7 @@ async fn index(
html_escape::encode_safe_to_string(message, &mut dep_str);
dep_str.push_str("
");
}
- dep_str.push_str("
");
+ row.4 = is_ulm.is_some();
match is_ulm {
Some(true) => {
row.0.push_str(&dep_str);
@@ -264,14 +265,66 @@ async fn index(
}
}
}
- for ((_date, _hour, _late_half), (a, b, _, _)) in table_rows {
- departures_str.push_str(""#,
+ if *sure {
+ "bahn-departure bahn-direction-ulm"
+ } else {
+ "bahn-departure bahn-direction-unsure"
+ },
+ i + 1
+ ));
+ departures_str.push_str(dep_html);
+ departures_str.push_str("
\n");
+ }
+ }
+ if should_be_sure {
+ unused = true;
+ }
+ for (i, ((_date, _hour, _late_half), (_, dep_html, _, _, sure))) in
+ table_rows.iter().enumerate()
+ {
+ if *sure == should_be_sure {
+ if unused {
+ unused = false;
+ if should_be_sure {
+ departures_str
+ .push_str(r#""#);
+ } else {
+ departures_str.push_str(r#""#);
+ }
+ departures_str.push('\n');
+ }
+ departures_str.push_str(&format!(
+ r#""#,
+ if *sure {
+ "bahn-departure bahn-direction-wendlingen"
+ } else {
+ "bahn-departure bahn-direction-unsure"
+ },
+ i + 1
+ ));
+ departures_str.push_str(dep_html);
+ departures_str.push_str("
\n");
+ }
+ }
}
- departures_str.push_str("