From 14d9a20abe1288a271a60ec4aa79c147f3587259 Mon Sep 17 00:00:00 2001 From: Adrian Malacoda Date: Mon, 4 Dec 2017 00:18:59 -0600 Subject: [PATCH] support order parameter for search --- src/lib.rs | 10 ++++++++-- src/main.rs | 5 +++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index b32c1cd..7468868 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,8 +17,14 @@ impl Scryfall { Scryfall {} } - pub fn search(&self, query: &str, page: i32) -> Result { - let mut response = reqwest::get(&format!("https://api.scryfall.com/cards/search?q={}&page={}", query, page))?; + pub fn search(&self, query: &str, order: Option<&str>, page: i32) -> Result { + let mut response = reqwest::get(&format!( + "https://api.scryfall.com/cards/search?q={}&order={}&page={}", + query, + order.unwrap_or("name"), + page + ))?; + let mut content = String::new(); response.read_to_string(&mut content); diff --git a/src/main.rs b/src/main.rs index 1b1722f..5394d0d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,9 +6,10 @@ fn main() { let query = env::args().nth(1).expect("please supply an query"); let sf = Scryfall::new(); - let mut page = 1; + let mut page = 0; loop { - let result = sf.search(&query, page).expect("Search failed"); + page = page + 1; + let result = sf.search(&query, None, page).expect("Search failed"); println!("Page {}: {:?}", page, result); if !result.has_more {