diff options
| author | Jesse Morgan <jesse@jesterpm.net> | 2015-08-16 15:27:15 -0700 | 
|---|---|---|
| committer | Jesse Morgan <jesse@jesterpm.net> | 2015-08-16 15:27:15 -0700 | 
| commit | 686cdf055174044cbd037327418efbe91beb7131 (patch) | |
| tree | 3eba0c0fc0c260705e0b966c8c9c7a4a772a2f4d /lib | |
| parent | 3c453d2056a067aebb60d13987b4a3a2ea4a9f86 (diff) | |
Adding more tests for PodcastView.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/PodcastView.js | 37 | 
1 files changed, 29 insertions, 8 deletions
| diff --git a/lib/PodcastView.js b/lib/PodcastView.js index 1236abd..a760371 100644 --- a/lib/PodcastView.js +++ b/lib/PodcastView.js @@ -91,22 +91,43 @@ function forEachView(feedId, callback, startKey) {  }  PodcastView.prototype.render = function(episodes, callback) { +  var bucket = this.bucket; +  var filenameTemplate = this.filenameTemplate;    var template = this.template;    var data = {      view: this,      episodes: episodes, -  }; -  var renderedView = _.template(template)(data); - -  saveView(renderedView, callback); +  };   + +  if (this.renderEach) { +    var remainingEpisodes = episodes.length; +    var uploadCallback = function(error) { +      remainingEpisodes--; +      if (remainingEpisodes == 0 || error != null) { +        callback(error); +      } +    }; + +    episodes.forEach(function(episode) { +      data['episode'] = episode; + +      var filename = _.template(filenameTemplate)(data); +      var renderedView = _.template(template)(data); +      saveView(bucket, filename, renderedView, uploadCallback);   +    }); +  } else { +    var filename = _.template(filenameTemplate)(data); +    var renderedView = _.template(template)(data); +    saveView(bucket, filename, renderedView, callback); +  }  }; -function saveView(renderedView, callback) { +function saveView(bucket, filename, renderedView, callback) {    var params = { -    Bucket: this.bucket, -    Key: this.key, -    Body: renderedView +    Bucket: bucket, +    Key: filename, +    Body: renderedView,    };    s3.putObject(params, callback); | 
