diff options
Diffstat (limited to 'tools/src/tmdb.rs')
-rw-r--r-- | tools/src/tmdb.rs | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/tools/src/tmdb.rs b/tools/src/tmdb.rs index 6f8c341..5f21afd 100644 --- a/tools/src/tmdb.rs +++ b/tools/src/tmdb.rs @@ -21,14 +21,14 @@ pub struct TmdbQueryResult { pub backdrop_path: Option<String>, pub genre_ids: Vec<u64>, pub id: u64, - pub original_language: String, - pub original_title: String, + pub original_language: Option<String>, + pub original_title: Option<String>, pub overview: String, pub popularity: f64, pub poster_path: Option<String>, - pub release_date: String, - pub title: String, - pub video: bool, + pub release_date: Option<String>, + pub title: Option<String>, + pub name: Option<String>, pub vote_average: f64, pub vote_count: usize, } @@ -39,21 +39,21 @@ pub struct TmdbDetails { pub backdrop_path: Option<String>, pub genres: Vec<TmdbGenre>, pub id: u64, - pub original_language: String, - pub original_title: String, + pub original_language: Option<String>, + pub original_title: Option<String>, pub overview: String, pub popularity: f64, pub poster_path: Option<String>, - pub release_date: String, - pub title: String, - pub video: bool, + pub release_date: Option<String>, + pub title: Option<String>, + pub name: Option<String>, pub vote_average: f64, pub vote_count: usize, - pub budget: usize, + pub budget: Option<usize>, pub homepage: Option<String>, pub imdb_id: Option<String>, pub production_companies: Vec<TmdbProductionCompany>, - pub revenue: usize, + pub revenue: Option<usize>, pub tagline: Option<String>, } @@ -70,19 +70,19 @@ pub struct TmdbProductionCompany { pub logo_path: Option<String>, } -pub fn tmdb_search(query: &str, key: &str) -> anyhow::Result<TmdbQuery> { +pub fn tmdb_search(kind: &str, query: &str, key: &str) -> anyhow::Result<TmdbQuery> { info!("searching tmdb: {query:?}"); Ok(reqwest::blocking::get(&format!( - "https://api.themoviedb.org/3/search/movie?query={}&api_key={key}", + "https://api.themoviedb.org/3/search/{kind}?query={}&api_key={key}", query.replace(" ", "+") ))? .json::<TmdbQuery>()?) } -pub fn tmdb_details(id: u64, key: &str) -> anyhow::Result<TmdbDetails> { +pub fn tmdb_details(kind: &str, id: u64, key: &str) -> anyhow::Result<TmdbDetails> { info!("fetching details: {id:?}"); Ok(reqwest::blocking::get(&format!( - "https://api.themoviedb.org/3/movie/{id}?api_key={key}" + "https://api.themoviedb.org/3/{kind}/{id}?api_key={key}" ))? .json()?) } |