diff options
Diffstat (limited to 'src/main/manaplus/manaApp/linux.ts')
-rw-r--r-- | src/main/manaplus/manaApp/linux.ts | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/src/main/manaplus/manaApp/linux.ts b/src/main/manaplus/manaApp/linux.ts index da37de0..1a5d828 100644 --- a/src/main/manaplus/manaApp/linux.ts +++ b/src/main/manaplus/manaApp/linux.ts @@ -1,10 +1,14 @@ import { ManaPlusApp } from "./manaApp.interface"; import { app } from "electron"; import * as fs from "fs-extra"; -import { getRequest } from "../../util/webrequest"; import { Status } from "../../status"; import { download, Progress as ProgressType } from "../../util/downloader"; import { promisify } from "util"; +import { + getInstalledManaplusVersion, + getVersionInfoForPlatform, + updateAvailable, +} from "./shared"; export class ManaPlusAppLinux implements ManaPlusApp { private path: string; @@ -22,23 +26,7 @@ export class ManaPlusAppLinux implements ManaPlusApp { throw new Error("getGameDir() is windows only!"); } getVersion(): Promise<string> { - return new Promise((res, rej) => { - let output: string; - const child = require("child_process").execFile( - this.startCommand, - ["-v"], - function (err: Error, data: any) { - output = data.toString(); - } - ); - child.on("close", () => { - output = output.replace(this.versionRegEx, "$1"); - res(output); - }); - child.on("error", () => { - rej(new Error("Version check failed")); - }); - }); + return getInstalledManaplusVersion(this.startCommand, this.versionRegEx); } isInstalled(): boolean { return fs.existsSync(this.path + "/Mana.AppImage"); @@ -47,20 +35,7 @@ export class ManaPlusAppLinux implements ManaPlusApp { isNewVersion: boolean; newestVersion: string; }> { - try { - let versions = await getRequest( - "https://tmw2.org/manalauncher/versions.json?" + Date.now() - ); - let currect_version = (await this.isInstalled) - ? await this.getVersion() - : "-"; - return { - isNewVersion: currect_version.indexOf(versions.AppImage.version) === -1, - newestVersion: versions.AppImage.version, - }; - } catch (e) { - throw e; - } + return updateAvailable("AppImage", this); } async update(): Promise<any> { fs.existsSync(app.getPath("userData") + "/temp") || @@ -71,10 +46,7 @@ export class ManaPlusAppLinux implements ManaPlusApp { Status.setActivity("Fetching Download URL"); let downloadURL; try { - let versions = await getRequest( - "https://tmw2.org/manalauncher/versions.json?" + Date.now() - ); - downloadURL = versions.AppImage.file; + downloadURL = (await getVersionInfoForPlatform("AppImage")).file; } catch (e) { console.log(e); Status.showError( |