UNPKG

md-movie-utils

Version:

The ultimate utility to get any information about a movie

104 lines (86 loc) 3.16 kB
var express = require("express"); var bodyParser = require("body-parser"); var mdMovieUtils = require('../dist'); var movieDBClients = mdMovieUtils.clients; var movieInfoParser = mdMovieUtils.parser; var app = express(); var omdbClient = movieDBClients.OMDBClient.getInstance('omdb_api_key'); var tmdbClient = movieDBClients.MovieDBClient.getInstance('tmdb_api_key'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); var response = { success: function (res) { return function (movie) { if (movie) { return res.status(200).json(movie); } else { return res.status(404); } }; }, failure: function (res) { return function (err) { return res.status(500).json({message: err.message}); } } }; // omdb app.get("/omdb/get", function (req, res) { omdbClient.get({ title: req.query.title, year: req.query.year, type: req.query.type }).then(response.success(res), response.failure(res)); }); app.get("/omdb/movie/getByTitleAndYear", function (req, res) { omdbClient.getByTitleAndYear(req.query.title, req.query.year) .then(response.success(res), response.failure(res)); }); app.get("/omdb/series/getByTitleAndYear", function (req, res) { omdbClient.getByTitleAndYear(req.query.title, req.query.year, 'series') .then(response.success(res), response.failure(res)); }); app.get("/omdb/get/:imdbID", function (req, res) { omdbClient.getByIMDBId(req.params.imdbID) .then(response.success(res), response.failure(res)); }); app.get("/omdb/search", function (req, res) { omdbClient.search({query: req.query.q, year: req.query.year, type: req.query.type}) .then(response.success(res), response.failure(res)); }); // tmdb app.get("/tmdb/get", function (req, res) { tmdbClient.get({ title: req.query.title, year: req.query.year, type: req.query.type }).then(response.success(res), response.failure(res)); }); app.get("/tmdb/movie/getByTitleAndYear", function (req, res) { tmdbClient.getByTitleAndYear(req.query.title, req.query.year) .then(response.success(res), response.failure(res)); }); app.get("/tmdb/series/getByTitleAndYear", function (req, res) { tmdbClient.getByTitleAndYear(req.query.title, req.query.year, 'series') .then(response.success(res), response.failure(res)); }); app.get("/tmdb/get/:imdbID", function (req, res) { tmdbClient.getByIMDBId(req.params.imdbID) .then(response.success(res), response.failure(res)); }); app.get("/tmdb/search", function (req, res) { tmdbClient.search({query: req.query.q, year: req.query.year, type: req.query.type}) .then(response.success(res), response.failure(res)); }); // parsing example app.get("/extract/fromTorrent", function (req, res) { let info = movieInfoParser.parseFromTorrentFileName(req.query.fileName); return res.status(200).json(info); }); app.get("/extract/plain", function (req, res) { let info = movieInfoParser.parseMovieNameAndYear(req.query.fileName, movieInfoParser.formats[req.query.format]); return res.status(200).json(info); }); app.listen(3000, function () { console.log("app running on port.", 3000); });