offline-minecraft-launcher/oml/stages/config.py

52 lines
1.6 KiB
Python
Raw Normal View History

print(colored(colorama.Fore.GREEN,"Reading config..."))
config = configparser.ConfigParser()
config.optionxform = str
config.read(p(omlPath,"config.ini"))
global lv
lv = config["default"]
for var in lv:
glbs = globals().copy()
for glb in glbs:
lv[var] = lv[var].replace("$+" +glb+ "$",str(glbs[glb]))
lcs = locals().copy()
for lc in lcs:
lv[var] = lv[var].replace("$" +lc+ "$",str(lcs[lc]))
if lv["osName"] == "":
lv["osName"] = platform.system().lower()
if lv["osName"] == "darwin": lv["osName"] = "macos"
if lv["osVersion"] == "":
lv["osVersion"] = platform.version()
if lv["jvmArch"] == "":
print(colored(colorama.Fore.GREEN,"Querying JVM architecture..."))
if "64-Bit" in subprocess.check_output([lv["java"],"-version"]).decode("utf-8"):
lv["jvmArch"] = "amd64"
else:
lv["jvmArch"] = "x86"
print("")
for setting in lv:
print(colored(colorama.Fore.BLACK,setting+ "=" +str(lv[setting])))
if len(sys.argv) > 1:
for arg in sys.argv[1:]:
if arg.startswith("-"): continue
argSplit = arg.split("=",1)
if len(argSplit) > 1:
lv[argSplit[0]] = argSplit[1]
else:
lv[argSplit[0]] = True
if not lv["osName"] in ["windows","linux","macos"]:
print(colored(colorama.Fore.YELLOW,"\nWarning, unsupported OS detected: '" +lv["osName"]+ "'"),file=sys.stderr)
print("Needs to be either windows, linux or macos. Define it with osName=name in the config.",file=sys.stderr)
print("")
if not "version" in lv: lv["version"] = input("Version ID: ")
if "-downloadonly" in sys.argv: lv["name"] = "Player"
if not "name" in lv: lv["name"] = input("Player name: ")