support order parameter for search

This commit is contained in:
Adrian Malacoda
2017-12-04 00:18:59 -06:00
parent 0ba2fb3b2c
commit 14d9a20abe
2 changed files with 11 additions and 4 deletions

View File

@@ -17,8 +17,14 @@ impl Scryfall {
Scryfall {} Scryfall {}
} }
pub fn search(&self, query: &str, page: i32) -> Result<CardList, Error> { pub fn search(&self, query: &str, order: Option<&str>, page: i32) -> Result<CardList, Error> {
let mut response = reqwest::get(&format!("https://api.scryfall.com/cards/search?q={}&page={}", query, page))?; 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(); let mut content = String::new();
response.read_to_string(&mut content); response.read_to_string(&mut content);

View File

@@ -6,9 +6,10 @@ fn main() {
let query = env::args().nth(1).expect("please supply an query"); let query = env::args().nth(1).expect("please supply an query");
let sf = Scryfall::new(); let sf = Scryfall::new();
let mut page = 1; let mut page = 0;
loop { 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); println!("Page {}: {:?}", page, result);
if !result.has_more { if !result.has_more {