Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const axios = require("axios");
  2. const mysql = require("mysql");
  3.  
  4. const connection = mysql.createConnection({
  5.   host: "localhost",
  6.   user: "root",
  7.   password: "",
  8.   database: "movies"
  9. });
  10.  
  11. connection.connect();
  12.  
  13. connection.query("delete from movies.moviesnow");
  14.  
  15. axios
  16.   .get(
  17.     "https://api.themoviedb.org/3/movie/now_playing?api_key=bbb0e77b94b09193e6f32d5fac7a3b9c&region=GR" //calls the now playing info
  18.   )
  19.   .then(response => {
  20.     for (page = 1; page <= response.data.total_pages; page++) {
  21.       paginatorFunc(page); //for every page in the now playing calls paginator
  22.     }
  23.   })
  24.   .catch(error => {
  25.     console.log(error);
  26.   });
  27.  
  28. paginatorFunc = page => {
  29.   axios
  30.     .get(
  31.       "https://api.themoviedb.org/3/movie/now_playing?api_key=bbb0e77b94b09193e6f32d5fac7a3b9c&region=GR&page=" +
  32.         page
  33.     )
  34.     .then(response => {
  35.       setTimeout(crewImdbFinder(response.data), 1000); //for every page we are in, call crewImdb finder
  36.     })
  37.     .catch(error => {
  38.       console.log(error);
  39.     });
  40. };
  41. crewImdbFinder = page => {
  42.   page.results.map(result => {
  43.     axios
  44.       .get(
  45.         "https://api.themoviedb.org/3/movie/" +
  46.           result.id +
  47.           "?api_key=bbb0e77b94b09193e6f32d5fac7a3b9c&append_to_response=credits"
  48.       )
  49.       .then(response => {
  50.         response.data.credits.crew.map(member => {
  51.           if (member.job === "Director") {
  52.             directorHandler(member.id, response.data.title);
  53.           }
  54.         });
  55.         // connection.query("INSERT INTO moviesnow VALUES (?, ?, ?, ?, ?)", [
  56.         //   response.data.title,
  57.         //   response.data.overview,
  58.         //   response.data.original_title,
  59.         //   response.data.original_title,
  60.         //   response.data.original_title
  61.         // ]);
  62.       })
  63.  
  64.       .catch(error => {
  65.         console.log(error);
  66.       });
  67.   });
  68. };
  69. directorHandler = (directorId, title) => {
  70.   axios
  71.     .get(
  72.       "https://api.themoviedb.org/3/person/" +
  73.         directorId +
  74.         "?api_key=bbb0e77b94b09193e6f32d5fac7a3b9c"
  75.     )
  76.     .then(response => {
  77.       connection.query("INSERT INTO directors VALUES (?, ?, ?, ?)", [
  78.         response.data.id,
  79.         title,
  80.         response.data.name,
  81.         response.data.imdb_id
  82.       ]);
  83.     })
  84.     .catch(error => {
  85.       console.log(error);
  86.     });
  87. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement