From: Chocobozzz Date: Wed, 14 Feb 2018 14:56:07 +0000 (+0100) Subject: Support thumbnails in youtube import X-Git-Tag: v0.0.24-alpha~12 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1d791a26de648d798df4ee1c04113baf7f1f3b4c;p=oweals%2Fpeertube.git Support thumbnails in youtube import --- diff --git a/server/tests/utils/videos/videos.ts b/server/tests/utils/videos/videos.ts index 9d4267db8..8e58f1f0c 100644 --- a/server/tests/utils/videos/videos.ts +++ b/server/tests/utils/videos/videos.ts @@ -3,7 +3,7 @@ import { expect } from 'chai' import { existsSync, readFile } from 'fs' import * as parseTorrent from 'parse-torrent' -import { extname, isAbsolute, join } from 'path' +import { extname, join } from 'path' import * as request from 'supertest' import { buildAbsoluteFixturePath, diff --git a/server/tools/import-youtube.ts b/server/tools/import-youtube.ts index ccbc71029..325e9f7ba 100644 --- a/server/tools/import-youtube.ts +++ b/server/tools/import-youtube.ts @@ -3,6 +3,7 @@ import { join } from 'path' import * as youtubeDL from 'youtube-dl' import { VideoPrivacy } from '../../shared/models/videos' import { unlinkPromise } from '../helpers/core-utils' +import { doRequestAndSaveToFile } from '../helpers/requests' import { getClient, getVideoCategories, login, searchVideo, uploadVideo } from '../tests/utils' program @@ -98,6 +99,16 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string) { const licence = getLicence(videoInfo.license) const language = 13 + let thumbnailfile + if (videoInfo.thumbnail) { + thumbnailfile = join(__dirname, 'thumbnail.jpg') + + await doRequestAndSaveToFile({ + method: 'GET', + uri: videoInfo.thumbnail + }, thumbnailfile) + } + const videoAttributes = { name: videoInfo.title, category, @@ -108,12 +119,18 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string) { description: videoInfo.description, tags: videoInfo.tags.slice(0, 5), privacy: VideoPrivacy.PUBLIC, - fixture: videoPath + fixture: videoPath, + thumbnailfile } console.log('\nUploading on PeerTube video "%s".', videoAttributes.name) await uploadVideo(program['url'], accessToken, videoAttributes) + await unlinkPromise(videoPath) + if (thumbnailfile) { + await unlinkPromise(thumbnailfile) + } + console.log('Uploaded video "%s"!\n', videoAttributes.name) }