var outputFile = 'fit', RssBraider = require('rss-braider'), fs = require('fs'), ejs = require(
  'ejs'), read = require('fs').readFileSync, join = require('path').join, str = read(
  join(__dirname, '/templates/rss.ejs'),
  'utf8'), feeds = {};

// Pull feeds from config files: ,
//      feeds.simple_test_feed = require("./config/feed").feed;
// Or define in-line

// filters

// 'filter_last_week', 'fix_images', 'fix_scripts'


feeds.simple_test_feed = {
  "feed_name": "feed", "default_count": 1, "no_cdata_fields"   : ['description'], // Don't wrap these fields in CDATA tags
  "meta": {
    "title": "Fitness",
    "description": "Combined Fitness Feed",
    'site_url': 'http://pipes.silvrtree.co.uk/fit.xml'
  }, "plugins": ['filter_last_week', 'fix_images', 'fix_scripts'],

  'custom_namespaces'   : {
          "content"   : "http://purl.org/rss/1.0/modules/content/",
          "slash"     : "http://purl.org/rss/1.0/modules/slash/",
          "media"     : "http://search.yahoo.com/mrss/",
          "ev"        : "http://purl.org/rss/2.0/modules/event/",
          "sy"        : "http://purl.org/rss/1.0/modules/syndication/",
          "wfw"       : "http://wellformedweb.org/CommentAPI/",
          "dc"        : "http://purl.org/dc/elements/1.1/",
          "atom"      : "http://www.w3.org/2005/Atom"
      },

  "sources": [
    {

      "count": 100, "feed_url": "http://www.mensfitness.co.uk/feeds/all"
    },

     {

      "count": 100, "feed_url": "http://www.coachmag.co.uk/feeds/all"
    },

     {

      "count": 100, "feed_url": "http://muscleandbrawn.com/feed/"
    },

    {

      "count": 100, "feed_url": "http://ashotofadrenaline.net/feed/"
    },

    {

      "count": 100, "feed_url": "http://www.simplyshredded.com/feed"
    },

   /* {

      "count": 100, "feed_url": "http://www.gym-talk.com/feed"
    },*/

    {

      "count": 100, "feed_url": "http://www.bornfitness.com/feed/"
    },


    /*{

      "count": 100, "feed_url": "http://breakingmuscle.co.uk/uk/feed/rss"
    },*/

    {

      "count": 100, "feed_url": "http://www.daimanuel.com/feed/"
    },

    {

      "count": 100, "feed_url": "http://rosstraining.com/blog/feed/"
    },

    {

      "count": 100, "feed_url": "http://daily.barbellshrugged.com/feed/"
    }

  ]
};
var braider_options = {
  feeds: feeds,
  indent: "    ",
  date_sort_order: "desc", // Newest first
  log_level: "debug",
  dedupe_fields: ['link', 'guid'],
  plugins_directories: [__dirname + "/plugins/"]
};
var rss_braider = RssBraider.createClient(braider_options);

// Override logging level (debug, info, warn, err, off)
//rss_braider.logger.level('off');

rss_braider.processFeed('simple_test_feed', 'json', function(err, data) {
  if (err) {
    return console.log(err);
  }

  var j = JSON.parse(data);
  var ejsOutput = ejs.compile(str)(j);

  fs.writeFile(__dirname + "/dist/" + outputFile + ".json",
    data,
    function(err) {
      if (err) {
        return console.log(err);
      }

      console.log("The file was saved!");
    });

  fs.writeFile(__dirname + "/dist/" + outputFile + ".html",
    ejsOutput,
    function(err) {

      if (err) {
        return console.log(err);
      }

      console.log("The file was saved!");
    });
});

/*
 rss_braider.processFeed('simple_test_feed', 'rss', function (err, data) {

 fs.writeFile(__dirname + "/html/" + outputFile + ".xml", data, function (err) {
 if (err) {
 return console.log(err);
 }

 console.log("The file was saved!");
 });
 });
 */
