aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkimdahey <claire_kim1@brown.edu>2020-02-29 14:16:13 -0500
committerkimdahey <claire_kim1@brown.edu>2020-02-29 14:16:13 -0500
commit22bc57fe1f997d5f8f6a471b4b719b50fbd8552a (patch)
tree92389e7debedf1784771b154ec4b99d70da72696
parent5988d84ba79dec81953d8c2bf6510d0ceefc79c5 (diff)
created upload audio
-rw-r--r--src/server/ApiManagers/UploadManager.ts3
-rw-r--r--src/server/DashUploadUtils.ts13
2 files changed, 15 insertions, 1 deletions
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index 4dc58d611..095567be1 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -19,7 +19,8 @@ export enum Directory {
videos = "videos",
pdfs = "pdfs",
text = "text",
- pdf_thumbnails = "pdf_thumbnails"
+ pdf_thumbnails = "pdf_thumbnails",
+ audio = "audio"
}
export function serverPathToFile(directory: Directory, filename: string) {
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index ea4c26ca2..e5aec852f 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -82,6 +82,19 @@ export namespace DashUploadUtils {
return { source: file, result: new Error(`Could not upload unsupported file (${name}) with upload type (${type}).`) };
}
+ async function uploadAudio(file: File) {
+ const { path: sourcePath } = file;
+ const dataBuffer = readFileSync(sourcePath);
+
+ await new Promise<void>((resolve, reject) => {
+ const name = path.basename(sourcePath);
+ const audioFilename = `${name.substring(0, name.length - 4)}.mp3`;
+ const writeStream = createWriteStream(serverPathToFile(Directory.audio, audioFilename));
+ writeStream.write(result.text, error => error ? reject(error) : resolve());
+ });
+ return MoveParsedFile(file, Directory.audio);
+ }
+
async function UploadPdf(file: File) {
const { path: sourcePath } = file;
const dataBuffer = readFileSync(sourcePath);