Support volume notation.

This commit is contained in:
Roel van Uden 2015-01-24 12:12:32 +01:00
parent b25855a6d8
commit 7d0c8f2ecd
2 changed files with 18 additions and 5 deletions

View File

@ -64,10 +64,9 @@ function _complete(message, begin, done) {
*/
function _download(config, page, player, done) {
var tag = config.tag || 'CrunchyRoll';
var series = config.title || page.series;
var fullEpisode = (page.episode < 10 ? '0' : '') + page.episode;
var fileName = series + ' - ' + fullEpisode + ' [' + tag + ']';
var filePath = path.join(config.path || process.cwd(), series, fileName);
var series = config.series || page.series;
var fileName = _name(config, page, series, tag);
var filePath = path.join(config.output || process.cwd(), series, fileName);
mkdirp(path.dirname(filePath), function(err) {
if (err) return done(err);
_subtitle(config, player, filePath, function(err) {
@ -86,6 +85,20 @@ function _download(config, page, player, done) {
});
}
/**
* Names the file based on the config, page, series and tag.
* @param {Object} config
* @param {Object} page
* @param {string} series
* @param {string} tag
* @returns {string}
*/
function _name(config, page, series, tag) {
var v = config.volume ? (config.volume < 10 ? '0' : '') + config.volume : '';
var e = (page.episode < 10 ? '0' : '') + page.episode;
return series + ' - ' + (v ? v + 'x' : '') + e + ' [' + tag + ']';
}
/**
* Requests the page data and scrapes the id, episode, series and swf.
* @private

View File

@ -14,7 +14,7 @@ var url = require('url');
* @param {function(Error)} done
*/
module.exports = function (config, address, done) {
var persistentPath = path.join(config.path || process.cwd(), persistent);
var persistentPath = path.join(config.output || process.cwd(), persistent);
fs.readFile(persistentPath, 'utf8', function(err, data) {
var cache = config.cache ? {} : JSON.parse(data || '{}');
_page(address, function(err, page) {