fall back to %APPDATA% if WScript doesn't work
This commit is contained in:
parent
b7eb1175b6
commit
356cd02fb2
16
mclevel.py
16
mclevel.py
@ -158,15 +158,19 @@ minecraftDirs = {
|
|||||||
'darwin':os.path.expanduser("~/Library/Application Support/minecraft"),
|
'darwin':os.path.expanduser("~/Library/Application Support/minecraft"),
|
||||||
}
|
}
|
||||||
minecraftDir = minecraftDirs.get(sys.platform, os.path.expanduser("~/.minecraft")); #default to Linux save location
|
minecraftDir = minecraftDirs.get(sys.platform, os.path.expanduser("~/.minecraft")); #default to Linux save location
|
||||||
|
minecraftDir = minecraftDir.decode(sys.getfilesystemencoding());
|
||||||
|
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
#do it using win32com because expandvars always returns a byte array when we
|
#not sure why win32com is needed if the %APPDATA% var is available
|
||||||
#need a unicode for the filesystem routines
|
try:
|
||||||
|
import win32com.client
|
||||||
|
|
||||||
import win32com.client
|
objShell = win32com.client.Dispatch("WScript.Shell")
|
||||||
|
minecraftDir = os.path.join(objShell.SpecialFolders("AppData"), u".minecraft")
|
||||||
objShell = win32com.client.Dispatch("WScript.Shell")
|
except Exception, e:
|
||||||
minecraftDir = os.path.join(objShell.SpecialFolders("AppData"), u".minecraft")
|
print "WScript error {0!r}".format(e)
|
||||||
|
minecraftDir = os.path.expandvars("%APPDATA%\\.minecraft\\saves")
|
||||||
|
minecraftDir = minecraftDir.decode(sys.getfilesystemencoding());
|
||||||
|
|
||||||
saveFileDir = os.path.join(minecraftDir, u"saves")
|
saveFileDir = os.path.join(minecraftDir, u"saves")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user