mirror of https://github.com/Chocobozzz/PeerTube
Add licence and language support to y-dl imports
parent
b1770a0af4
commit
86ad0cde9e
|
@ -159,7 +159,7 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response)
|
|||
thumbnailModel = await processThumbnail(req, video)
|
||||
|
||||
// Process video thumbnail from url if processing from request.files failed
|
||||
if (!thumbnailModel) {
|
||||
if (!thumbnailModel && youtubeDLInfo.thumbnailUrl) {
|
||||
thumbnailModel = await processThumbnailFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
||||
}
|
||||
|
||||
|
@ -169,7 +169,7 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response)
|
|||
previewModel = await processPreview(req, video)
|
||||
|
||||
// Process video preview from url if processing from request.files failed
|
||||
if (!previewModel) {
|
||||
if (!previewModel && youtubeDLInfo.thumbnailUrl) {
|
||||
previewModel = await processPreviewFromUrl(youtubeDLInfo.thumbnailUrl, video)
|
||||
}
|
||||
|
||||
|
@ -236,7 +236,7 @@ function buildVideo (channelId: number, body: VideoImportCreate, importData: You
|
|||
remote: false,
|
||||
category: body.category || importData.category,
|
||||
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"
|
||||
downloadEnabled: body.downloadEnabled !== 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 { generateVideoImportTmpPath } from './utils'
|
||||
import { join } from 'path'
|
||||
|
@ -12,6 +12,7 @@ export type YoutubeDLInfo = {
|
|||
name?: string
|
||||
description?: string
|
||||
category?: number
|
||||
language?: string
|
||||
licence?: number
|
||||
nsfw?: boolean
|
||||
tags?: string[]
|
||||
|
@ -252,12 +253,13 @@ function normalizeObject (obj: any) {
|
|||
return newObj
|
||||
}
|
||||
|
||||
function buildVideoInfo (obj: any) {
|
||||
function buildVideoInfo (obj: any): YoutubeDLInfo {
|
||||
return {
|
||||
name: titleTruncation(obj.title),
|
||||
description: descriptionTruncation(obj.description),
|
||||
category: getCategory(obj.categories),
|
||||
licence: getLicence(obj.license),
|
||||
language: getLanguage(obj.language),
|
||||
nsfw: isNSFW(obj),
|
||||
tags: getTags(obj.tags),
|
||||
thumbnailUrl: obj.thumbnail || undefined,
|
||||
|
@ -302,6 +304,11 @@ function getLicence (licence: string) {
|
|||
|
||||
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
|
||||
}
|
||||
|
||||
|
@ -321,6 +328,10 @@ function getCategory (categories: string[]) {
|
|||
return undefined
|
||||
}
|
||||
|
||||
function getLanguage (language: string) {
|
||||
return VIDEO_LANGUAGES[language] ? language : undefined
|
||||
}
|
||||
|
||||
function wrapWithProxyOptions (options: string[]) {
|
||||
if (CONFIG.IMPORT.VIDEOS.HTTP.PROXY.ENABLED) {
|
||||
logger.debug('Using proxy for YoutubeDL')
|
||||
|
|
Loading…
Reference in New Issue