Add licence and language support to y-dl imports
This commit is contained in:
parent
b1770a0af4
commit
86ad0cde9e
|
@ -159,7 +159,7 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response)
|
||||||
thumbnailModel = await processThumbnail(req, video)
|
thumbnailModel = await processThumbnail(req, video)
|
||||||
|
|
||||||
// Process video thumbnail from url if processing from request.files failed
|
// Process video thumbnail from url if processing from request.files failed
|
||||||
if (!thumbnailModel) {
|
if (!thumbnailModel && youtubeDLInfo.thumbnailUrl) {
|
||||||
thumbnailModel = await processThumbnailFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
thumbnailModel = await processThumbnailFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response)
|
||||||
previewModel = await processPreview(req, video)
|
previewModel = await processPreview(req, video)
|
||||||
|
|
||||||
// Process video preview from url if processing from request.files failed
|
// Process video preview from url if processing from request.files failed
|
||||||
if (!previewModel) {
|
if (!previewModel && youtubeDLInfo.thumbnailUrl) {
|
||||||
previewModel = await processPreviewFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
previewModel = await processPreviewFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ function buildVideo (channelId: number, body: VideoImportCreate, importData: You
|
||||||
remote: false,
|
remote: false,
|
||||||
category: body.category || importData.category,
|
category: body.category || importData.category,
|
||||||
licence: body.licence || importData.licence,
|
licence: body.licence || importData.licence,
|
||||||
language: body.language || undefined,
|
language: body.language || importData.language,
|
||||||
commentsEnabled: body.commentsEnabled !== false, // If the value is not "false", the default is "true"
|
commentsEnabled: body.commentsEnabled !== false, // If the value is not "false", the default is "true"
|
||||||
downloadEnabled: body.downloadEnabled !== false,
|
downloadEnabled: body.downloadEnabled !== false,
|
||||||
waitTranscoding: body.waitTranscoding || false,
|
waitTranscoding: body.waitTranscoding || false,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES } from '../initializers/constants'
|
import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES } from '../initializers/constants'
|
||||||
import { logger } from './logger'
|
import { logger } from './logger'
|
||||||
import { generateVideoImportTmpPath } from './utils'
|
import { generateVideoImportTmpPath } from './utils'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
|
@ -12,6 +12,7 @@ export type YoutubeDLInfo = {
|
||||||
name?: string
|
name?: string
|
||||||
description?: string
|
description?: string
|
||||||
category?: number
|
category?: number
|
||||||
|
language?: string
|
||||||
licence?: number
|
licence?: number
|
||||||
nsfw?: boolean
|
nsfw?: boolean
|
||||||
tags?: string[]
|
tags?: string[]
|
||||||
|
@ -252,12 +253,13 @@ function normalizeObject (obj: any) {
|
||||||
return newObj
|
return newObj
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildVideoInfo (obj: any) {
|
function buildVideoInfo (obj: any): YoutubeDLInfo {
|
||||||
return {
|
return {
|
||||||
name: titleTruncation(obj.title),
|
name: titleTruncation(obj.title),
|
||||||
description: descriptionTruncation(obj.description),
|
description: descriptionTruncation(obj.description),
|
||||||
category: getCategory(obj.categories),
|
category: getCategory(obj.categories),
|
||||||
licence: getLicence(obj.license),
|
licence: getLicence(obj.license),
|
||||||
|
language: getLanguage(obj.language),
|
||||||
nsfw: isNSFW(obj),
|
nsfw: isNSFW(obj),
|
||||||
tags: getTags(obj.tags),
|
tags: getTags(obj.tags),
|
||||||
thumbnailUrl: obj.thumbnail || undefined,
|
thumbnailUrl: obj.thumbnail || undefined,
|
||||||
|
@ -302,6 +304,11 @@ function getLicence (licence: string) {
|
||||||
|
|
||||||
if (licence.includes('Creative Commons Attribution')) return 1
|
if (licence.includes('Creative Commons Attribution')) return 1
|
||||||
|
|
||||||
|
for (const key of Object.keys(VIDEO_LICENCES)) {
|
||||||
|
const peertubeLicence = VIDEO_LICENCES[key]
|
||||||
|
if (peertubeLicence.toLowerCase() === licence.toLowerCase()) return parseInt(key, 10)
|
||||||
|
}
|
||||||
|
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,6 +328,10 @@ function getCategory (categories: string[]) {
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getLanguage (language: string) {
|
||||||
|
return VIDEO_LANGUAGES[language] ? language : undefined
|
||||||
|
}
|
||||||
|
|
||||||
function wrapWithProxyOptions (options: string[]) {
|
function wrapWithProxyOptions (options: string[]) {
|
||||||
if (CONFIG.IMPORT.VIDEOS.HTTP.PROXY.ENABLED) {
|
if (CONFIG.IMPORT.VIDEOS.HTTP.PROXY.ENABLED) {
|
||||||
logger.debug('Using proxy for YoutubeDL')
|
logger.debug('Using proxy for YoutubeDL')
|
||||||
|
|
Loading…
Reference in New Issue