mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-15 18:25:54 -07:00
Only process if properties are available
This commit is contained in:
parent
29d1f7e836
commit
1931ff9afb
1 changed files with 81 additions and 77 deletions
|
|
@ -38,96 +38,100 @@ module.exports.plugin = function plugin(file, librarySettings, inputs) {
|
||||||
_Other: 'Other'
|
_Other: 'Other'
|
||||||
}
|
}
|
||||||
|
|
||||||
let resolution = '_' + file.video_resolution
|
//only process if properties available
|
||||||
let resShouldBe = resolutions[resolution]
|
if (file.ffProbeData.streams[0].codec_name && file.video_resolution) {
|
||||||
let codecShouldBe = file.ffProbeData.streams[0].codec_name
|
|
||||||
|
|
||||||
//Remove container from processing
|
let resolution = '_' + file.video_resolution
|
||||||
let fileName = file._id;
|
let resShouldBe = resolutions[resolution]
|
||||||
fileName = fileName.split('.')
|
let codecShouldBe = file.ffProbeData.streams[0].codec_name
|
||||||
let container = fileName[fileName.length - 1]
|
|
||||||
fileName.splice(fileName.length - 1, 1)
|
|
||||||
fileName = fileName.join('.')
|
|
||||||
|
|
||||||
//put term substrings below strings (i.e. '480' below '480p')
|
//Remove container from processing
|
||||||
let terms = [
|
let fileName = file._id;
|
||||||
'480p',
|
fileName = fileName.split('.')
|
||||||
'480',
|
let container = fileName[fileName.length - 1]
|
||||||
'576p',
|
fileName.splice(fileName.length - 1, 1)
|
||||||
'576',
|
fileName = fileName.join('.')
|
||||||
'720p',
|
|
||||||
'720',
|
|
||||||
'1080p',
|
|
||||||
'1080',
|
|
||||||
'2160p',
|
|
||||||
'2160',
|
|
||||||
'4k',
|
|
||||||
'8k',
|
|
||||||
|
|
||||||
'h264',
|
//put term substrings below strings (i.e. '480' below '480p')
|
||||||
'264',
|
let terms = [
|
||||||
'h265',
|
'480p',
|
||||||
'265',
|
'480',
|
||||||
'hevc'
|
'576p',
|
||||||
]
|
'576',
|
||||||
|
'720p',
|
||||||
|
'720',
|
||||||
|
'1080p',
|
||||||
|
'1080',
|
||||||
|
'2160p',
|
||||||
|
'2160',
|
||||||
|
'4k',
|
||||||
|
'8k',
|
||||||
|
|
||||||
//clean up res and codec terms from name
|
'h264',
|
||||||
for (let i = 0; i < terms.length; i++) {
|
'264',
|
||||||
while (true) {
|
'h265',
|
||||||
let idx = fileName.indexOf(terms[i]);
|
'265',
|
||||||
if (idx === -1) {
|
'hevc'
|
||||||
break
|
]
|
||||||
} else {
|
|
||||||
let length = terms[i].length
|
|
||||||
fileName = fileName.split('')
|
|
||||||
fileName.splice(idx, length);
|
|
||||||
fileName = fileName.join('')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (resShouldBe === 'Other') {
|
//clean up res and codec terms from name
|
||||||
fileName += '_' + codecShouldBe + '.' + container
|
for (let i = 0; i < terms.length; i++) {
|
||||||
} else {
|
while (true) {
|
||||||
fileName += '_' + resShouldBe + '_' + codecShouldBe + '.' + container
|
let idx = fileName.indexOf(terms[i]);
|
||||||
}
|
if (idx === -1) {
|
||||||
|
break
|
||||||
//clean up word breakers
|
} else {
|
||||||
let breakers = [
|
let length = terms[i].length
|
||||||
'.',
|
fileName = fileName.split('')
|
||||||
'_',
|
fileName.splice(idx, length);
|
||||||
'-',
|
fileName = fileName.join('')
|
||||||
]
|
|
||||||
|
|
||||||
fileName = fileName.split('')
|
|
||||||
for (let i = 0; i < fileName.length; i++) {
|
|
||||||
for (let j = 0; j < breakers.length; j++) {
|
|
||||||
for (let k = 0; k < breakers.length; k++) {
|
|
||||||
if (fileName[i] === breakers[j] && fileName[i + 1] === breakers[k]) {
|
|
||||||
fileName.splice(i, 1);
|
|
||||||
i--
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fileName = fileName.join('')
|
if (resShouldBe === 'Other') {
|
||||||
|
fileName += '_' + codecShouldBe + '.' + container
|
||||||
|
} else {
|
||||||
|
fileName += '_' + resShouldBe + '_' + codecShouldBe + '.' + container
|
||||||
|
}
|
||||||
|
|
||||||
file._id = fileName
|
//clean up word breakers
|
||||||
file.file = fileName
|
let breakers = [
|
||||||
|
'.',
|
||||||
|
'_',
|
||||||
|
'-',
|
||||||
|
]
|
||||||
|
|
||||||
if (fileNameOld != file._id) {
|
fileName = fileName.split('')
|
||||||
fsextra.moveSync(fileNameOld, file._id, {
|
for (let i = 0; i < fileName.length; i++) {
|
||||||
overwrite: true,
|
for (let j = 0; j < breakers.length; j++) {
|
||||||
});
|
for (let k = 0; k < breakers.length; k++) {
|
||||||
|
if (fileName[i] === breakers[j] && fileName[i + 1] === breakers[k]) {
|
||||||
|
fileName.splice(i, 1);
|
||||||
|
i--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let response = {
|
fileName = fileName.join('')
|
||||||
file,
|
|
||||||
removeFromDB: false,
|
|
||||||
updateDB: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
return response;
|
file._id = fileName
|
||||||
|
file.file = fileName
|
||||||
|
|
||||||
|
if (fileNameOld != file._id) {
|
||||||
|
fsextra.moveSync(fileNameOld, file._id, {
|
||||||
|
overwrite: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
let response = {
|
||||||
|
file,
|
||||||
|
removeFromDB: false,
|
||||||
|
updateDB: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue