From b3b194cb7c488afb4bcb911b66d3fc0cd2823052 Mon Sep 17 00:00:00 2001 From: Dominic Grimm Date: Fri, 27 Jan 2023 19:11:00 +0100 Subject: [PATCH] Update --- Cargo.toml | 1 + src/lib.rs | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e45a3ed..bba4aa8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,7 @@ publish = false anyhow = { version = "1.0.66", features = ["backtrace"] } chrono = { version = "0.4.23", features = ["serde"] } cookie = "0.16.1" +csv = "1.1.6" reqwest = { version = "0.11.13", features = ["json"] } serde = { version = "1.0.150", features = ["derive"] } serde_json = "1.0.89" diff --git a/src/lib.rs b/src/lib.rs index fba86ad..a1f2c79 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -783,9 +783,8 @@ impl Client { bail!("Report not finished"); } - let mut records_url = self - .webuntis_url - .join(&format!("reports.do?{}", resp.data.report_params))?; + let mut records_url = self.webuntis_url.join("reports.do")?; + records_url.set_query(Some(&resp.data.report_params)); dbg!(&records_url); records_url .query_pairs_mut() @@ -807,7 +806,14 @@ impl Client { .await? .text() .await?; - dbg!(records); + + let mut reader = csv::ReaderBuilder::new() + .delimiter(b'\t') + .from_reader(records.as_bytes()); + for record in reader.records() { + let record = record?; + dbg!(record); + } Ok(()) }