hacktools 0.35.2__tar.gz → 0.36.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hacktools-0.35.2/hacktools.egg-info → hacktools-0.36.1}/PKG-INFO +1 -1
- hacktools-0.36.1/hacktools/__init__.py +1 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/common.py +9 -4
- {hacktools-0.35.2 → hacktools-0.36.1/hacktools.egg-info}/PKG-INFO +1 -1
- hacktools-0.35.2/hacktools/__init__.py +0 -1
- {hacktools-0.35.2 → hacktools-0.36.1}/LICENSE +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/MANIFEST.in +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/README.md +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/arch.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/assets/icon.png +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/c_ext/cmp_cri.c +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/c_ext/cmp_lzss.c +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/c_ext/cmp_misc.c +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/c_ext/cmp_racjin.c +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/c_ext/inc.h +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/compression.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/cpk.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/gb.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/gui.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/nasm.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/nds.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/nitro.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/psp.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/psx.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/wii.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools/ws.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools.egg-info/SOURCES.txt +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools.egg-info/dependency_links.txt +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools.egg-info/requires.txt +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/hacktools.egg-info/top_level.txt +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/setup.cfg +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/setup.py +0 -0
- {hacktools-0.35.2 → hacktools-0.36.1}/tests/test_cmp.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.36.1"
|
|
@@ -8,6 +8,7 @@ import re
|
|
|
8
8
|
import shlex
|
|
9
9
|
import shutil
|
|
10
10
|
import sys
|
|
11
|
+
import stat
|
|
11
12
|
import struct
|
|
12
13
|
import subprocess
|
|
13
14
|
import typing
|
|
@@ -430,7 +431,7 @@ if hasClick:
|
|
|
430
431
|
runGUI()
|
|
431
432
|
|
|
432
433
|
|
|
433
|
-
def runStartup():
|
|
434
|
+
def runStartup(skipcrc=False):
|
|
434
435
|
if datafolder != "" and not os.path.isdir(datafolder):
|
|
435
436
|
makeFolder(datafolder)
|
|
436
437
|
if appname != "":
|
|
@@ -441,7 +442,7 @@ if hasClick:
|
|
|
441
442
|
if filecheck != "" and not os.path.isfile(filecheck):
|
|
442
443
|
logError(filecheck, "file not found.")
|
|
443
444
|
return False
|
|
444
|
-
if crc >= 0 and not os.path.isfile(".skipcrc"):
|
|
445
|
+
if crc >= 0 and not skipcrc and not os.path.isfile(".skipcrc"):
|
|
445
446
|
checkcrc = crcFile(filecheck)
|
|
446
447
|
if crc != checkcrc:
|
|
447
448
|
logMessage("Checksum mismatch for", filecheck, "(" + toHex(checkcrc) + ", expected", toHex(crc) + ")")
|
|
@@ -1154,6 +1155,11 @@ def makeFolder(folder, clear=True):
|
|
|
1154
1155
|
|
|
1155
1156
|
def clearFolder(folder):
|
|
1156
1157
|
if os.path.isdir(folder):
|
|
1158
|
+
# Ensure files aren't marked as read-only
|
|
1159
|
+
for root, dirs, files in os.walk(folder, topdown=False):
|
|
1160
|
+
for name in files:
|
|
1161
|
+
filename = os.path.join(root, name)
|
|
1162
|
+
os.chmod(filename, stat.S_IWUSR)
|
|
1157
1163
|
shutil.rmtree(folder)
|
|
1158
1164
|
|
|
1159
1165
|
|
|
@@ -1163,8 +1169,7 @@ def copyFolder(f1, f2):
|
|
|
1163
1169
|
|
|
1164
1170
|
|
|
1165
1171
|
def mergeFolder(f1, f2):
|
|
1166
|
-
|
|
1167
|
-
distutils.dir_util.copy_tree(f1, f2, verbose=0)
|
|
1172
|
+
shutil.copytree(f1, f2, dirs_exist_ok=True)
|
|
1168
1173
|
|
|
1169
1174
|
|
|
1170
1175
|
def copyFile(f1, f2):
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.35.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|