R/moviemeter.r

Defines functions mm_search mm_get_movie_info

Documented in mm_get_movie_info mm_search

#' Search for films
#'
#' You need a MovieMeter API KEY. See \link{moviemeter_api_key} for more info.
#'
#' @param terms atomic character vector to use in the search
#' @return \code{tibble}
#' @references \url{http://wiki.moviemeter.nl/index.php/API}
#' @export
#' @note MovieMeter requests citations when publishing any derivative work from their data.
#' @examples
#' mm_search("brave little toaster")
mm_search <- function(terms) {

  res <- httr::GET("http://www.moviemeter.nl/api/film/",
                   query=list(q=terms, api_key=moviemeter_api_key()))

  stop_for_status(res)

  res <- httr::content(res, as="text", encoding="UTF-8")
  res <- jsonlite::fromJSON(res)
  res <- as_tibble(res)

  res

}

#' Retrieve film information
#'
#' Pass in either a MovieMeter ID or IMDB code to retrieve movie info.
#'
#' You need a MovieMeter API KEY. See \link{moviemeter_api_key} for more info.
#'
#' @param movie_id either a MovieMeter ID or IMDB code
#' @return \code{list}
#' @references \url{http://wiki.moviemeter.nl/index.php/API}
#' @export
#' @note MovieMeter requests citations when publishing any derivative work from their data.
#' @examples
#' mm_get_movie_info(5208)
mm_get_movie_info <- function(movie_id) {

  res <- httr::GET(sprintf("http://www.moviemeter.nl/api/film/%s", movie_id),
                   query=list(api_key=moviemeter_api_key()))

  stop_for_status(res)

  res <- httr::content(res, as="text", encoding="UTF-8")
  res <- jsonlite::fromJSON(res)
  res <- purrr::map(res, ~. %||% NA)

  res

}
hrbrmstr/moviemeter documentation built on May 17, 2019, 5:11 p.m.