revu du process de téléchargement en cours

This commit is contained in:
MathieuG-P
2022-05-17 23:50:14 +02:00
parent b124017780
commit 1b4ece5046
+12 -3
View File
@@ -2,6 +2,7 @@ import { ipcMain } from 'electron';
import path from 'path';
import { ChildProcessWithoutNullStreams, spawn } from 'child_process';
import { UtilsService } from '../services/utils.service';
import { BSVersion } from 'main/services/bs-version-manager.service';
export interface InitDownloadInfoInterface {
@@ -14,11 +15,19 @@ export interface InitDownloadInfoInterface {
stay: boolean
}
export interface DownloadInfo {
bsVersion: BSVersion,
username: string,
password?: string,
stay?: boolean
}
const DEPOT_DOWNLOADER_EXE = 'DepotDownloader.exe';
let PROCESS: ChildProcessWithoutNullStreams;
ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) => {
ipcMain.on('bs-download.start', async (event, args: DownloadInfo) => {
console.log(args); return;
const DEPOT_DOWNLOADER_PATH = path.join(UtilsService.getInstance().getAssetsPath(), 'depot-downloader', DEPOT_DOWNLOADER_EXE);
console.log(UtilsService.getInstance().getAssetsPath());
console.log(DEPOT_DOWNLOADER_PATH);
@@ -32,7 +41,7 @@ ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) =
console.log(out);
if(out[0] === "[Progress]"){ event.reply('bs-download.progress', out[1]); }
else if(out[0] === "[Password]"){ event.reply('bs-download.ask-password'); }
else if(out[0] === "[Password]"){ event.reply('bs-download.not-connected', args.bsVersion); PROCESS.kill(); }
else if(out[0] === "[2FA]"){ event.reply('bs-download.ask-2fa'); }
else if(out[0] === "[Guard]"){ event.reply('bs-download.ask-guard'); }
else if(out[0] === "[Error]"){ event.reply('bs-download.error', out); }
@@ -42,6 +51,6 @@ ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) =
PROCESS.stderr.on('data', (data) => {console.log(data.toString())});
});
ipcMain.on('bs-download.send-input', async (event, value: string) => {
ipcMain.on('bs-download.enter-password', async (event, value: string) => {
if(PROCESS){ PROCESS.stdin.write(`${value}\n`); }
});