From d7c865663bb8e4a826c4998f9cbf91f763266a2d Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Tue, 1 Oct 2024 13:59:50 +0200 Subject: [PATCH] Search options are expected to be in an array now instead of top level definitions when searching. --- .envrc | 1 + .gitignore | 1 + Cargo.lock | 2 +- download/Cargo.toml | 2 +- download/src/nzz.rs | 17 ++++++++++------- flake.nix | 2 +- 6 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index 390ec9e..2fe666e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ node_modules /target nzz/ result +.direnv/ diff --git a/Cargo.lock b/Cargo.lock index 39b1c70..74195a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -921,7 +921,7 @@ dependencies = [ [[package]] name = "nzz-download" -version = "0.2.0" +version = "0.2.1" dependencies = [ "anyhow", "clap", diff --git a/download/Cargo.toml b/download/Cargo.toml index 43e7d32..10659f4 100644 --- a/download/Cargo.toml +++ b/download/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nzz-download" -version = "0.2.0" +version = "0.2.1" edition = "2021" license = { workspace = true } authors = { workspace = true } diff --git a/download/src/nzz.rs b/download/src/nzz.rs index a2911b4..5903b60 100644 --- a/download/src/nzz.rs +++ b/download/src/nzz.rs @@ -12,15 +12,17 @@ const SEARCH_URL: &str = "https://zeitungsarchiv.nzz.ch/solr-epaper-search/1.0/s const ISSUE_URL: &str = "https://zeitungsarchiv.nzz.ch/archive/1.0/getPages"; const MAX_DOWNLOADS: usize = 4; +#[derive(Debug, Serialize, Deserialize)] +struct SortOption { + field: String, + order: String, +} + #[derive(Debug, Serialize, Deserialize)] struct SearchData { query: String, offset: u32, - #[serde(rename = "sortField")] - sort_field: String, - #[serde(rename = "sortOrder")] - sort_order: String, - #[serde( + #[serde( rename = "startDate", serialize_with = "crate::date::serialize", deserialize_with = "crate::date::deserialize" @@ -32,6 +34,8 @@ struct SearchData { deserialize_with = "crate::date::deserialize" )] end_date: Date, + #[serde(rename = "sortOptions")] + sort_options: Vec } #[derive(Debug, Serialize, Deserialize)] @@ -105,8 +109,7 @@ impl SearchData { Self { query: "".to_string(), offset, - sort_field: "media_ts".to_string(), - sort_order: "desc".to_string(), + sort_options: vec![SortOption { field: "media_ts".to_string(), order: "desc".to_string() }], start_date, end_date, } diff --git a/flake.nix b/flake.nix index 993e6ca..6a73a47 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ fenixPkgs: fenixPkgs.fromToolchainFile { file = ./rust-toolchain.toml; - sha256 = "sha256-Ngiz76YP4HTY75GGdH2P+APE/DEIx2R/Dn+BwwOyzZU="; + sha256 = "sha256-VZZnlyP69+Y3crrLHQyJirqlHrTtGTsyiSnZB8jEvVo="; }; buildTargets = {