tmdb

Crates.iotmdb
lib.rstmdb
version3.0.0
sourcesrc
created_at2018-04-14 13:57:26.208395
updated_at2021-02-04 23:19:01.822833
descriptionThe Movie Database (TMDb) API for Rust
homepagehttps://gitlab.com/Cir0X/tmdb-rs
repositoryhttps://gitlab.com/Cir0X/tmdb-rs
max_upload_size
id60562
size58,908
Wolfhard Prell (Cir0X)

documentation

https://docs.rs/crate/tmdb

README

The Movie Database

The Movie Database

This is a wrapper around the TMDb API.

Usage

extern crate tmdb;

use tmdb::model::*;
use tmdb::themoviedb::*;

fn main() {
    let tmdb = TMDb { api_key: env!("TMDB_API_KEY"), language: "en" };

    let movies = tmdb.search()
        .title("Interstellar")
        .year(2014)
        .execute()
        .unwrap();

    let id = movies.results[0].id;
    
    let interstellar: Movie = tmdb.fetch()
        .id(id)
        .execute()
        .unwrap();

    println!("{:#?}", interstellar);
}

Actions

Currently there are 3 actions available:

  • Searching
  • Fetching
  • Finding

Searching

You can search for movies by title and year.

let page = tmdb.search()
    .title("Bicentennial Man")
    .year(1999)
    .execute()
    .unwrap();

let movies = page.results;

Fetching

You can fetch a movie, when you know its ID. Then you get all the movie details.

let movie = tmdb.fetch()
    .id(157336)
    .execute()
    .unwrap();

When you don't have any movie ID, you can search for a movie and then easily fetch the full details.

let page = tmdb.search()
   .title("Bicentennial Man")
   .year(1999)
   .execute()
   .unwrap();

let movies = page.results;
let movie = movies[0].fetch(&tmdb).unwrap();

Furthermore you can request some more data with the append to response feature.

let movie = tmdb.fetch()
    .id(2277)
    .append_videos()
    .append_credits()
    .execute()
    .unwrap();

Finding

Finding a movie with an external ID is currently supported with IMDB IDs.

let find_result = tmdb.find()
    .imdb_id("tt0816692")
    .execute()
    .unwrap();

let movies = find_result.movie_results;

Acknowledgements

Commit count: 44

cargo fmt