diff options
| author | bobzel <zzzman@gmail.com> | 2021-05-18 14:58:18 -0400 | 
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2021-05-18 14:58:18 -0400 | 
| commit | 53532257a5696e43cd13e380a728a20637625719 (patch) | |
| tree | 5ca18364b617fad5fe4f8c41d360ce654f9e5727 /src/server/ApiManagers/UploadManager.ts | |
| parent | 7c18243dd38656b63334f48d9270d912ce6384fa (diff) | |
added downloading of youtube videos if https://youtube-dl.org/ is installed on the server's path
Diffstat (limited to 'src/server/ApiManagers/UploadManager.ts')
| -rw-r--r-- | src/server/ApiManagers/UploadManager.ts | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts index d6950d46a..02f6462aa 100644 --- a/src/server/ApiManagers/UploadManager.ts +++ b/src/server/ApiManagers/UploadManager.ts @@ -16,6 +16,7 @@ const imageDataUri = require('image-data-uri');  import { isWebUri } from "valid-url";  import { Opt } from "../../fields/Doc";  import { SolrManager } from "./SearchManager"; +import { StringDecoder } from "string_decoder";  export enum Directory {      parsed_files = "parsed_files", @@ -66,6 +67,26 @@ export default class UploadManager extends ApiManager {          register({              method: Method.POST, +            subscription: "/uploadYoutubeVideo", +            secureHandler: async ({ req, res }) => { +                //req.readableBuffer.head.data +                return new Promise<void>(async resolve => { +                    req.addListener("data", async (args) => { +                        console.log(args); +                        const payload = String.fromCharCode.apply(String, args); +                        const videoId = JSON.parse(payload).videoId; +                        const results: Upload.FileResponse[] = []; +                        const result = await DashUploadUtils.uploadYoutube(videoId); +                        result && !(result.result instanceof Error) && results.push(result); +                        _success(res, results); +                        resolve(); +                    }); +                }); +            } +        }); + +        register({ +            method: Method.POST,              subscription: new RouteSubscriber("youtubeScreenshot"),              secureHandler: async ({ req, res }) => {                  const { id, timecode } = req.body; | 
