Advertisement
thedanielfactor

Untitled

Aug 23rd, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. const Request = require("request");
  2. const moment = require('moment');
  3. const schedule = require('node-schedule');
  4. const http = require('http');
  5. const https = require('https');
  6. const url_parse = require('url-parse');
  7. const winston = require('winston');
  8. const SRGameProcessor = require('./SRGameProcessor');
  9.  
  10. const logger = winston.createLogger({
  11. transports: [
  12. new winston.transports.Console()
  13. ]
  14. });
  15.  
  16. let gameDate = moment().format('YYYY/MM/DD');
  17. let baseURL = "https://api.sportradar.us/mlb/trial";
  18. let subscribeUrl = "/stream/en/events/subscribe?api_key=pau4tyxnw5665qx2phyurjz6&match=sd:match:{game_id}";
  19. let scheduleUrl = "/{version}/en/games/{game_date}/schedule.json?api_key=pau4tyxnw5665qx2phyurjz6";
  20.  
  21. scheduleUrl = baseURL + scheduleUrl.replace("{version}", "v6.5").replace("{game_date}", gameDate);
  22.  
  23. logger.info("Schedule URL: " + scheduleUrl);
  24. Request.get(scheduleUrl, (error, response, body) => {
  25. if(error) {
  26. return logger.error(error);
  27. }
  28.  
  29. logger.info(body.toString());
  30. let scheduleJSON = JSON.parse(body);
  31.  
  32. scheduleJSON.games.map( g => {
  33. let start_url = baseURL + subscribeUrl.replace("{game_id}", g.id);
  34. if ( g.status === 'inprogress') {
  35. logger.info("Subscribe to Push Events for game: " + g.home.name + " vs " + g.away.name);
  36. let gp = new SRGameProcessor();
  37. Promise.resolve(gp.startListening(start_url)).then(
  38. logger.info("Finished")
  39. ).catch(console.log.bind(console));
  40. } else {
  41. var j = schedule.scheduleJob(g.scheduled, function(){
  42. logger.info("Subscribe to Push Events for game: " + g.home.name + " vs " + g.away.name);
  43. let gp = new SRGameProcessor();
  44. Promise.resolve(gp.startListening(start_url)).then(
  45. logger.info("Finished")
  46. ).catch(console.log.bind(console));
  47. });
  48. }
  49. })
  50. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement