Browse Source

Move episodes into a series folder.

Roel van Uden 9 years ago
parent
commit
b47a059d95
2 changed files with 13 additions and 8 deletions
  1. 1 0
      package.json
  2. 12 8
      src/episode.js

+ 1 - 0
package.json

@@ -11,6 +11,7 @@
   "dependencies": {
     "big-integer": "^1.4.1",
     "cheerio": "^0.18.0",
+    "mkdirp": "^0.5.0",
     "request": "^2.51.0",
     "xml2js": "^0.4.4"
   }

+ 12 - 8
src/episode.js

@@ -1,6 +1,7 @@
 'use strict';
 var cheerio = require('cheerio');
 var fs = require('fs');
+var mkdirp = require('mkdirp');
 var request = require('request');
 var path = require('path');
 var subtitle = require('./subtitle');
@@ -65,17 +66,20 @@ function _download(config, page, player, done) {
   var tag = config.tag || 'CrunchyRoll';
   var fullEpisode = (page.episode < 10 ? '0' : '') + page.episode;
   var fileName = page.series + ' - ' + fullEpisode + ' [' + tag + ']';
-  var filePath = path.join(config.path || process.cwd(), fileName);
-  _subtitle(config, player, filePath, function(err) {
+  var filePath = path.join(config.path || process.cwd(), page.series, fileName);
+  mkdirp(path.dirname(filePath), function(err) {
     if (err) return done(err);
-    var begin = Date.now();
-    console.log('Fetching ' + fileName);
-    _video(config, page, player, filePath, function(err) {
+    _subtitle(config, player, filePath, function(err) {
       if (err) return done(err);
-      if (!config.merge) return _complete('Finished ' + fileName, begin, done);
-      video.merge(config, player.video.file, filePath, function(err) {
+      var now = Date.now();
+      console.log('Fetching ' + fileName);
+      _video(config, page, player, filePath, function(err) {
         if (err) return done(err);
-        _complete('Finished ' + fileName, begin, done);
+        if (!config.merge) return _complete('Finished ' + fileName, now, done);
+        video.merge(config, player.video.file, filePath, function(err) {
+          if (err) return done(err);
+          _complete('Finished ' + fileName, now, done);
+        });
       });
     });
   });