fix loading bug when songs dont parse

This commit is contained in:
Anthony Samms
2025-10-20 09:47:21 -04:00
parent 7cb2f23ee8
commit 9807a344dd
2 changed files with 15 additions and 13 deletions

View File

@@ -114,18 +114,19 @@ def build_song_hashes(output_dir=Path("cache")):
tja = TJAParser(tja_path) tja = TJAParser(tja_path)
all_notes = NoteList() all_notes = NoteList()
diff_hashes = dict() diff_hashes = dict()
try:
for diff in tja.metadata.course_data:
diff_notes, _, _, _ = TJAParser.notes_to_position(TJAParser(tja.file_path), diff)
diff_hashes[diff] = tja.hash_note_data(diff_notes)
all_notes.play_notes.extend(diff_notes.play_notes)
all_notes.bars.extend(diff_notes.bars)
except Exception as e:
print(f"Failed to parse TJA {tja_path}: {e}")
continue
if all_notes == []: try:
for diff in tja.metadata.course_data:
diff_notes, _, _, _ = TJAParser.notes_to_position(TJAParser(tja.file_path), diff)
diff_hashes[diff] = tja.hash_note_data(diff_notes)
all_notes.play_notes.extend(diff_notes.play_notes)
all_notes.bars.extend(diff_notes.bars)
except Exception as e:
print(f"Failed to parse TJA {tja_path}: {e}")
continue
if all_notes == NoteList():
print(tja_path)
continue continue
hash_val = tja.hash_note_data(all_notes) hash_val = tja.hash_note_data(all_notes)

View File

@@ -1939,7 +1939,7 @@ class FileNavigator:
# Create SongFile objects # Create SongFile objects
for tja_path in sorted(tja_files): for tja_path in sorted(tja_files):
song_key = str(tja_path) song_key = str(tja_path)
if song_key not in self.all_song_files: if song_key not in self.all_song_files and tja_path in global_data.song_paths:
song_obj = SongFile(tja_path, tja_path.name, texture_index) song_obj = SongFile(tja_path, tja_path.name, texture_index)
song_obj.box.get_scores() song_obj.box.get_scores()
for course in song_obj.tja.metadata.course_data: for course in song_obj.tja.metadata.course_data:
@@ -1970,7 +1970,8 @@ class FileNavigator:
self.new_items.append(SongFile(tja_path, tja_path.name, SongBox.DEFAULT_INDEX, name_texture_index=texture_index)) self.new_items.append(SongFile(tja_path, tja_path.name, SongBox.DEFAULT_INDEX, name_texture_index=texture_index))
self.all_song_files[song_key] = song_obj self.all_song_files[song_key] = song_obj
content_items.append(self.all_song_files[song_key]) if song_key in self.all_song_files:
content_items.append(self.all_song_files[song_key])
self.directory_contents[dir_key] = content_items self.directory_contents[dir_key] = content_items
self.crown_cache_dirty.add(dir_key) self.crown_cache_dirty.add(dir_key)