Added filepath component length limit with truncator. Fixed double extension dot when copying original extension. Moved API keys to local config.
This commit is contained in:
parent
80564cff19
commit
be7bc1b10d
|
@ -26,8 +26,10 @@ module.exports = {
|
||||||
comment: '$itemDescription'
|
comment: '$itemDescription'
|
||||||
},
|
},
|
||||||
dateFormat: 'YYYYMMDD',
|
dateFormat: 'YYYYMMDD',
|
||||||
filenameLimit: 250,
|
truncate: {
|
||||||
truncator: '...',
|
limit: 250,
|
||||||
|
truncator: '...'
|
||||||
|
},
|
||||||
indexOffset: 1,
|
indexOffset: 1,
|
||||||
slashSubstitute: '#',
|
slashSubstitute: '#',
|
||||||
},
|
},
|
||||||
|
@ -45,18 +47,18 @@ module.exports = {
|
||||||
},
|
},
|
||||||
reddit: {
|
reddit: {
|
||||||
api: {
|
api: {
|
||||||
userAgent: 'wat',
|
userAgent: 'reddit-post-dump',
|
||||||
clientId: 'VPquALMpTGl3ag',
|
clientId: '1234567abcdefg',
|
||||||
access_token: 'xxxW9FDeaOIeHwsOvTkE4YLo_Fk',
|
access_token: 'abcD123eFg45Hi6J7klmnop8qr9',
|
||||||
token_type: 'bearer',
|
token_type: 'bearer',
|
||||||
expires_in: 3600,
|
expires_in: 3600,
|
||||||
refresh_token: '8427871-D-Hb-m8WAazo2hBP-0iCPcUSPLM',
|
refresh_token: '1234567-A-Bc-defg8912hij-klm345opqr',
|
||||||
scope: 'history identity mysubreddits read subscribe'
|
scope: 'history identity mysubreddits read subscribe'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
imgur: {
|
imgur: {
|
||||||
clientId: '455ceaa737dbac0'
|
clientId: '1234567abcdefgh'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -46,8 +46,6 @@ module.exports = function(posts) {
|
||||||
const filepath = post.content.album ? interpolate(config.library.album[type], post.user, post, item) : interpolate(config.library[type], post.user, post, item);
|
const filepath = post.content.album ? interpolate(config.library.album[type], post.user, post, item) : interpolate(config.library[type], post.user, post, item);
|
||||||
|
|
||||||
return Promise.resolve().then(() => {
|
return Promise.resolve().then(() => {
|
||||||
return fs.ensureDir(path.dirname(filepath));
|
|
||||||
}).then(() => {
|
|
||||||
return save(filepath, item.streams || item.stream, item, post);
|
return save(filepath, item.streams || item.stream, item, post);
|
||||||
}).then(sourcePaths => {
|
}).then(sourcePaths => {
|
||||||
if(item.mux) {
|
if(item.mux) {
|
||||||
|
|
|
@ -64,7 +64,7 @@ function interpolate(pattern, user, post, item) {
|
||||||
$itemIndex: item.index + config.library.indexOffset,
|
$itemIndex: item.index + config.library.indexOffset,
|
||||||
$extracted: item.extracted ? config.library.booleans.extracted : '',
|
$extracted: item.extracted ? config.library.booleans.extracted : '',
|
||||||
$preview: item.preview ? config.library.booleans.preview : '',
|
$preview: item.preview ? config.library.booleans.preview : '',
|
||||||
$ext: `.${mime.extension(item.type) || path.extname(url.parse(item.url).pathname)}`
|
$ext: item.type ? `.${mime.extension(item.type)}` : path.extname(url.parse(item.url).pathname)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,19 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const config = require('config');
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const ffmpeg = require('fluent-ffmpeg');
|
const ffmpeg = require('fluent-ffmpeg');
|
||||||
|
|
||||||
function save(filepath, streams, item, post) {
|
function save(requestedFilepath, streams, item, post) {
|
||||||
|
const filepath = requestedFilepath.split('/').map(component => {
|
||||||
|
if(config.library.truncate && component.length > config.library.truncate.limit) {
|
||||||
|
return component.slice(0, config.library.truncate.limit - config.library.truncate.truncator.length) + config.library.truncate.truncator;
|
||||||
|
}
|
||||||
|
|
||||||
|
return component;
|
||||||
|
}).join(path.sep);
|
||||||
|
|
||||||
const pathComponents = path.parse(filepath);
|
const pathComponents = path.parse(filepath);
|
||||||
|
|
||||||
// allow for single stream argument
|
// allow for single stream argument
|
||||||
|
|
Loading…
Reference in New Issue