From 4d78fe732cfbca399d7b08cccb1bbc897a811a17 Mon Sep 17 00:00:00 2001 From: Illidan Date: Wed, 21 Aug 2024 21:36:14 +0200 Subject: [PATCH] Fixed issue with common.runStartup --- hacktools/__init__.py | 2 +- hacktools/common.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/hacktools/__init__.py b/hacktools/__init__.py index 3586090..27b8b59 100644 --- a/hacktools/__init__.py +++ b/hacktools/__init__.py @@ -1 +1 @@ -__version__ = "0.36.0" +__version__ = "0.36.1" diff --git a/hacktools/common.py b/hacktools/common.py index 9176954..22036e7 100644 --- a/hacktools/common.py +++ b/hacktools/common.py @@ -8,6 +8,7 @@ import shlex import shutil import sys +import stat import struct import subprocess import typing @@ -430,7 +431,7 @@ def main(gui): runGUI() - def runStartup(): + def runStartup(skipcrc=False): if datafolder != "" and not os.path.isdir(datafolder): makeFolder(datafolder) if appname != "": @@ -441,7 +442,7 @@ def runStartup(): if filecheck != "" and not os.path.isfile(filecheck): logError(filecheck, "file not found.") return False - if crc >= 0 and not os.path.isfile(".skipcrc"): + if crc >= 0 and not skipcrc and not os.path.isfile(".skipcrc"): checkcrc = crcFile(filecheck) if crc != checkcrc: logMessage("Checksum mismatch for", filecheck, "(" + toHex(checkcrc) + ", expected", toHex(crc) + ")") @@ -1154,6 +1155,11 @@ def makeFolder(folder, clear=True): def clearFolder(folder): if os.path.isdir(folder): + # Ensure files aren't marked as read-only + for root, dirs, files in os.walk(folder, topdown=False): + for name in files: + filename = os.path.join(root, name) + os.chmod(filename, stat.S_IWUSR) shutil.rmtree(folder)