mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-03-08 12:30:03 +03:00
Compare commits
1 Commits
python3-do
...
kodi-integ
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a623012901 |
@@ -26,6 +26,9 @@ function registerFileDB(file_path, type, multiUserMode = null, sub = null) {
|
|||||||
|
|
||||||
utils.fixVideoMetadataPerms(file_id, type, multiUserMode && multiUserMode.file_path);
|
utils.fixVideoMetadataPerms(file_id, type, multiUserMode && multiUserMode.file_path);
|
||||||
|
|
||||||
|
// creates XML if kodi support is enabled
|
||||||
|
if (true) utils.generateNFOFile(file_id, type, multiUserMode && multiUserMode.file_path);
|
||||||
|
|
||||||
// add thumbnail path
|
// add thumbnail path
|
||||||
file_object['thumbnailPath'] = utils.getDownloadedThumbnail(file_id, type, multiUserMode && multiUserMode.file_path);
|
file_object['thumbnailPath'] = utils.getDownloadedThumbnail(file_id, type, multiUserMode && multiUserMode.file_path);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
var fs = require('fs-extra')
|
var fs = require('fs-extra')
|
||||||
var path = require('path')
|
var path = require('path')
|
||||||
const config_api = require('./config');
|
const config_api = require('./config');
|
||||||
|
const { create } = require('xmlbuilder2');
|
||||||
|
|
||||||
const is_windows = process.platform === 'win32';
|
const is_windows = process.platform === 'win32';
|
||||||
|
|
||||||
@@ -145,6 +146,35 @@ function fixVideoMetadataPerms(name, type, customPath = null) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generateNFOFile(file_id, type, customPath = null) {
|
||||||
|
if (!customPath) customPath = type === 'audio' ? config_api.getConfigItem('ytdl_audio_folder_path')
|
||||||
|
: config_api.getConfigItem('ytdl_video_folder_path');
|
||||||
|
|
||||||
|
const file_obj = getJSONByType(type, file_id, customPath);
|
||||||
|
|
||||||
|
const target_dir = path.dirname(file_obj['_filename']);
|
||||||
|
|
||||||
|
const file_name = path.basename(file_obj['_filename']);
|
||||||
|
const target_file_name = file_name.substring(0, file_name.length-4) + '.nfo';
|
||||||
|
|
||||||
|
const xml_obj = {
|
||||||
|
episodedetails: {
|
||||||
|
title: file_obj['fulltitle'],
|
||||||
|
episode: file_obj['playlist_index'] ? file_obj['playlist_index'] : undefined,
|
||||||
|
premiered: file_obj['upload_date'],
|
||||||
|
plot: `${file_obj['uploader_url']}\n${file_obj['description']}\n${file_obj['playlist_title']}`
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const generated_xml = create(xml_obj).end({prettyPrint: true});
|
||||||
|
|
||||||
|
const xml_parts = generated_xml.split('\n');
|
||||||
|
xml_parts[0] = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||||
|
const final_xml = xml_parts.join('\n');
|
||||||
|
|
||||||
|
fs.writeFileSync(path.join(target_dir, target_file_name), final_xml);
|
||||||
|
}
|
||||||
|
|
||||||
function deleteJSONFile(name, type, customPath = null) {
|
function deleteJSONFile(name, type, customPath = null) {
|
||||||
if (!customPath) customPath = type === 'audio' ? config_api.getConfigItem('ytdl_audio_folder_path')
|
if (!customPath) customPath = type === 'audio' ? config_api.getConfigItem('ytdl_audio_folder_path')
|
||||||
: config_api.getConfigItem('ytdl_video_folder_path');
|
: config_api.getConfigItem('ytdl_video_folder_path');
|
||||||
@@ -204,6 +234,7 @@ module.exports = {
|
|||||||
getDownloadedThumbnail: getDownloadedThumbnail,
|
getDownloadedThumbnail: getDownloadedThumbnail,
|
||||||
getExpectedFileSize: getExpectedFileSize,
|
getExpectedFileSize: getExpectedFileSize,
|
||||||
fixVideoMetadataPerms: fixVideoMetadataPerms,
|
fixVideoMetadataPerms: fixVideoMetadataPerms,
|
||||||
|
generateNFOFile: generateNFOFile,
|
||||||
deleteJSONFile: deleteJSONFile,
|
deleteJSONFile: deleteJSONFile,
|
||||||
getDownloadedFilesByType: getDownloadedFilesByType,
|
getDownloadedFilesByType: getDownloadedFilesByType,
|
||||||
recFindByExt: recFindByExt,
|
recFindByExt: recFindByExt,
|
||||||
|
|||||||
Reference in New Issue
Block a user