summaryrefslogtreecommitdiff
path: root/src/main/manaplus/manaApp/linux.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/manaplus/manaApp/linux.ts')
-rw-r--r--src/main/manaplus/manaApp/linux.ts44
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(