Atlas-Install/source/CT_Config/load_ctconfig_json.py

32 lines
No EOL
1 KiB
Python

from source.Cup import Cup
from source.Track import Track
def load_ctconfig_json(self, ctconfig_json: dict):
"""
:param ctconfig_json: json of the ctconfig to load
:return: ?
"""
self.ordered_cups = []
self.unordered_tracks = []
self.all_tracks = []
for cup_json in ctconfig_json["cup"].values(): # tracks with defined order
cup = Cup()
cup.load_from_json(cup_json)
if not cup.locked: # locked cup are not useful (they are original track or random track)
self.ordered_cups.append(cup)
self.all_tracks.extend(cup.tracks)
for track_json in ctconfig_json["tracks_list"]: # unordered tracks
track = Track()
track.load_from_json(track_json)
self.unordered_tracks.append(track)
self.all_tracks.append(track)
self.version = ctconfig_json["version"]
self.all_version = set()
for track in self.all_tracks:
self.all_version.add(track.since_version)
self.all_version = sorted(self.all_version)