ctucx.git: trainsearch

web based trip-planner, fork of https://cyberchaos.dev/yuka/trainsearch

commit 1ae6d6b31e146125cac21f03419e536dfb1afd58
parent 5bdba60d68672835e1a45e5160702fc4afd6d263
Author: Yureka <yuka@yuka.dev>
Date: Sun, 13 Feb 2022 15:39:15 +0100

support W leg type
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/trainsearch-refresh-token/src/lib.rs b/trainsearch-refresh-token/src/lib.rs
@@ -8,13 +8,10 @@ use wasm_bindgen::prelude::wasm_bindgen;
 
 #[derive(Debug, Deserialize, Serialize)]
 pub enum HafasLegType {
-    #[serde(rename = "JNY")]
     Journey,
-    #[serde(rename = "WALK")]
     Walk,
-    #[serde(rename = "TRSF")]
+    Walk2,
     Transfer,
-    #[serde(rename = "DEVI")]
     Devi,
 }
 

@@ -242,6 +239,7 @@ pub(crate) fn decode_hafas(token: &str) -> anyhow::Result<HafasReconstructionCon
                 "G@F" => HafasLegType::Walk,
                 "TF" => HafasLegType::Transfer,
                 "D" => HafasLegType::Devi,
+                "W" => HafasLegType::Walk2,
                 other => return Err(anyhow!("unknown leg type: {}", other)),
             },
             from: match parts.next() {

@@ -295,6 +293,7 @@ pub(crate) fn encode_hafas(data: HafasReconstructionContext) -> anyhow::Result<S
             HafasLegType::Walk => "G@F".to_string(),
             HafasLegType::Transfer => "TF".to_string(),
             HafasLegType::Devi => "D".to_string(),
+            HafasLegType::Walk2 => "W".to_string(),
         });
         parts.push(encode_hafas_place(leg.from)?);
         parts.push(encode_hafas_place(leg.to)?);

@@ -324,6 +323,7 @@ pub(crate) fn encode_trainsearch(token: HafasReconstructionContext) -> anyhow::R
             HafasLegType::Walk => 1,
             HafasLegType::Transfer => 2,
             HafasLegType::Devi => 3,
+            HafasLegType::Walk2 => 4,
         });
 
         out.append(&mut encode_trainsearch_place(leg.to)?);

@@ -357,6 +357,7 @@ pub(crate) fn decode_trainsearch(token: &str) -> anyhow::Result<HafasReconstruct
                     1 => HafasLegType::Walk,
                     2 => HafasLegType::Transfer,
                     3 => HafasLegType::Devi,
+                    4 => HafasLegType::Walk2,
                     other => return Err(anyhow!("unknown leg type: {}", other)),
                 };
                 let to = decode_trainsearch_place(&mut input)?;