renamed count_track to load_ct_config, reworked function to load ct_config into variables, called in __init__.py

This commit is contained in:
raphael60650 2021-07-14 22:27:03 +02:00
parent 537f7b3c4c
commit ff98213786
3 changed files with 29 additions and 11 deletions

View file

@ -29,7 +29,7 @@ class ClassApp():
from source.patch_ct_icon import patch_ct_icon
from source.log_error import log_error
from source.get_github_file import get_github_file, check_track_sha1
from source.patch_track import count_track, patch_track, patch_autoadd
from source.patch_track import load_ct_config, patch_track, patch_autoadd
from source.patch_image import patch_image
from source.option import load_option, change_option

View file

@ -15,6 +15,8 @@ def __init__(self):
self.root = Tk()
self.load_option()
self.load_ct_config()
self.stringvar_language = StringVar(value=self.option["language"])
self.stringvar_game_format = StringVar(value=self.option["format"])
self.boolvar_disable_download = BooleanVar(value=self.option["disable_download"])
@ -25,6 +27,7 @@ def __init__(self):
self.boolvar_use_1star_track = BooleanVar(value=True)
self.boolvar_use_2star_track = BooleanVar(value=True)
self.boolvar_use_3star_track = BooleanVar(value=True)
self.stringvar_mark_track_from_version = StringVar(value="None")
self.root.title(self.translate("MKWFaraphel Installer"))
self.root.resizable(False, False)
@ -54,6 +57,12 @@ def __init__(self):
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 1 ","star"), variable=self.boolvar_use_1star_track)
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 2 ","stars"), variable=self.boolvar_use_2star_track)
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 3 ","stars"), variable=self.boolvar_use_3star_track)
self.menu_trackselection.add_separator()
self.menu_marktrackversion = Menu(self.menu_trackselection, tearoff=0)
self.menu_trackselection.add_cascade(label=self.translate("Mark all tracks from version"), menu=self.menu_marktrackversion)
self.menu_marktrackversion.add_radiobutton(label=self.translate("None"), variable=self.stringvar_mark_track_from_version, value="None")
for version in self.ALL_VERSION:
self.menu_marktrackversion.add_radiobutton(label=f"v{version}", variable=self.stringvar_mark_track_from_version, value=version)
self.menu_advanced = Menu(self.menu_bar, tearoff=0)
self.menu_bar.add_cascade(label=self.translate("Advanced"), menu=self.menu_advanced)

View file

@ -6,16 +6,25 @@ import json
import os
def count_track(self):
def load_ct_config(self):
tracks = []
with open("./ct_config.json", encoding="utf-8") as f: ctconfig = json.load(f)
self.VERSION = ctconfig["version"]
for cup in ctconfig["cup"].values():
for cup in ctconfig["cup"].values(): # defined order tracks
if not (cup["locked"]): tracks.extend(cup["courses"].values())
tracks.extend(ctconfig["tracks_list"])
tracks = [dict(t) for t in {tuple(d.items()) for d in tracks}]
total_track = len(tracks)
return tracks, total_track
tracks.extend(ctconfig["tracks_list"]) # unordered tracks
self.TRACKS = [dict(t) for t in {tuple(d.items()) for d in tracks}] # removing duplicate
self.TOTAL_TRACK = len(tracks)
self.VERSION = ctconfig["version"]
self.ALL_VERSION = []
for track in self.TRACKS:
if not track.get("since_version") in self.ALL_VERSION:
self.ALL_VERSION.append(track["since_version"])
self.ALL_VERSION.sort()
def patch_autoadd(self):
@ -29,7 +38,7 @@ def patch_autoadd(self):
shutil.rmtree(self.path_mkwf + "/tmp/")
def patch_track(self, tracks, total_track="?"):
def patch_track(self):
max_process = self.intvar_process_track.get()
process_list = {}
error_count, error_max = 0, 3
@ -40,7 +49,7 @@ def patch_track(self, tracks, total_track="?"):
nonlocal error_count, error_max, process_list
process_list[track_file] = None # Used for
self.Progress(statut=self.translate("Converting tracks", f"\n({i + 1}/{total_track})\n",
self.Progress(statut=self.translate("Converting tracks", f"\n({i + 1}/{self.TOTAL_TRACK})\n",
"\n".join(process_list.keys())), add=1)
for _track in [get_track_szs(track_file), get_track_wu8(track_file)]:
@ -123,7 +132,7 @@ def patch_track(self, tracks, total_track="?"):
if len(process_list): return 1
else: return 0
for i, track in enumerate(tracks):
for i, track in enumerate(self.TRACKS):
while True:
if len(process_list) < max_process:
returncode = add_process(track)