Skip to content

Commit 45d34a6

Browse files
authored
Raw json leaked into GUI for shows genre
1 parent 5f8bb16 commit 45d34a6

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

main.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,11 +1561,27 @@ def display_item(self, item: Optional[Dict], media_type: str) -> None:
15611561
runtime_str = f"{int(runtime) // 60} min" if str(runtime).isdigit() else runtime
15621562
year_runtime = ' | '.join(filter(None, [str(year), runtime_str]))
15631563
widgets['year_runtime_label'].setText(year_runtime)
1564-
1565-
genres = item.get('genres', [])
1564+
1565+
genres = item.get('genres', '')
15661566
if isinstance(genres, str):
1567-
genres = json.loads(genres) if genres.startswith('[') else genres.split(',')
1568-
genres_str = ", ".join(str(genre).strip() for genre in genres if genre)
1567+
try:
1568+
genres = json.loads(genres)
1569+
except json.JSONDecodeError:
1570+
genres = [genres]
1571+
1572+
if isinstance(genres, list):
1573+
genre_names = []
1574+
for genre in genres:
1575+
if isinstance(genre, dict):
1576+
name = genre.get('name', '')
1577+
if name:
1578+
genre_names.append(name)
1579+
else:
1580+
genre_names.append(str(genre))
1581+
genres_str = ", ".join(genre_names)
1582+
else:
1583+
genres_str = str(genres)
1584+
15691585
widgets['genres_label'].setText(genres_str)
15701586

15711587
summary = item.get('summary', 'No summary available')
@@ -1584,7 +1600,7 @@ def display_item(self, item: Optional[Dict], media_type: str) -> None:
15841600
widgets['genres_label'].setText("")
15851601
widgets['summary_text'].setPlainText(f"Error loading item: {str(e)}")
15861602
self.poster_downloader._set_default_poster(widgets['poster_label'])
1587-
1603+
15881604
def show_next_recommendation(self, media_type):
15891605
print(f"\nFetching next recommendation for {media_type}")
15901606
try:

0 commit comments

Comments
 (0)