mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
revu du process de téléchargement en cours
This commit is contained in:
@@ -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`); }
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user