update process for windows

This commit is contained in:
Paul Wilde 2025-01-02 17:38:10 +00:00
parent c8ddbf3243
commit 4590b0ce7a

View file

@ -11,12 +11,18 @@ import os
import ../model/log_type
import version
const sh = """
const SH = """
#!/usr/bin/env sh
mv {new} {old}
{old} --version
rm -r tmp
"""
const BAT = """
move {new} {old}
{old} --version
rmdir /s tmp
"""
proc extractUpdate(name, file: string) =
var client = newHttpClient()
try:
@ -24,22 +30,19 @@ proc extractUpdate(name, file: string) =
client.downloadFile(file,fmt"tmp/{name}")
let cwd = getAppDir()
let cwf = getAppFilename()
case hostOS
of "linux":
let ok = osproc.execCmd(fmt"tar xf tmp/{name} -C tmp/")
if ok == 0:
copyFile(cwf,fmt"{cwd}/norg_backup")
let content = sh.replace("{new}", "tmp/norg").replace("{old}", cwf)
if ok == 0:
case hostOS
of "linux","freebsd":
let content = SH.replace("{new}", "tmp/norg").replace("{old}", cwf)
writeFile("tmp/norg_update", content)
discard osproc.execCmd("sh tmp/norg_update")
quit(0)
of "windows":
let ok = osproc.execCmd(fmt"decompress tmp/{name} -C tmp/")
if ok == 0:
copyFile(cwf,fmt"{cwd}/norg_backup")
let content = sh.replace("{new}", "tmp/norg").replace("{old}", cwf)
let content = BAT.replace("{new}", "tmp/norg").replace("{old}", cwf)
writeFile("tmp/norg_update", content)
discard osproc.execCmd("sh tmp/norg_update")
discard osproc.execCmd("tmp/norg_update")
quit(0)
except:
error getCurrentExceptionMsg()