Advertisement
Guest User

main.js

a guest
Apr 26th, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var xmlreader = require('cloud/xmlreader.js');
  2. var HinduSports = Parse.Object.extend("HinduSports");
  3.  
  4. Parse.Cloud.job("job_hindu_sports", function (request, response) {
  5.     return Parse.Cloud.httpRequest({
  6.         url: 'http://www.thehindu.com/sport/?service=rss'
  7.     }).then(function(httpResponse) {
  8.         var someXml = httpResponse.text;
  9.         xmlreader.read(someXml, function (err, res){
  10.             if(err) {
  11.                 response.error("Error " +err);
  12.                 return console.log(err);
  13.             }  
  14.            
  15.             var listArray = [];
  16.             res.rss.channel.item.each(function (i, item){
  17.                 var hinduSports = new HinduSports();
  18.                 hinduSports.set("link", item.link.text());
  19.                 hinduSports.set("title", item.title.text());
  20.                 hinduSports.set("pubDate", item.pubDate.text());
  21.                 //console.log("pubDate - "+ item.pubDate.text());
  22.                 listArray.push(hinduSports);
  23.             });
  24.            
  25.             var promises = [];
  26.             Parse.Object.saveAll(listArray, {
  27.                     success: function(objs) {
  28.                         promises.push(objs);
  29.                         console.log("SAVED ALL!");
  30.                     },
  31.                     error: function(error) {
  32.                         console.log("ERROR WHILE SAVING - "+error);
  33.                     }  
  34.                 });
  35.             return Parse.Promise.when(promises);       
  36.            
  37.         });
  38.     }).then(function() {
  39.             response.success("Saving completed successfully.");
  40.             },function(error) {
  41.             response.error("Uh oh, something went wrong.");
  42.     });
  43. });
  44.  
  45. Parse.Cloud.beforeSave("HinduSports", function(request, response) {
  46.     //console.log("in beforeSave");
  47.     var query = new Parse.Query(HinduSports);
  48.     var linkText = request.object.get("link")
  49.     var titleText = request.object.get("title");
  50.     query.equalTo("link", linkText);
  51.     query.first({
  52.       success: function(object) {
  53.         //console.log("in query");
  54.         if (object) {
  55.             //console.log("found");
  56.             if(object.get('title')!==titleText){
  57.                 console.log("title not same");
  58.                 object.set("title", titleText);
  59.                 response.success();
  60.             }
  61.             else{
  62.                 console.log("title same");
  63.                 response.error();
  64.             }
  65.         } else {
  66.             console.log("not found");
  67.             response.success();
  68.         }
  69.       },
  70.       error: function(error) {
  71.         response.error();
  72.       }
  73.     });
  74. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement