diff --git a/core/plex_client.py b/core/plex_client.py index f24fbe85..5745c09e 100644 --- a/core/plex_client.py +++ b/core/plex_client.py @@ -124,14 +124,36 @@ class PlexClient: return try: + music_sections = [] + + # Collect all music libraries for section in self.server.library.sections(): if section.type == 'artist': - self.music_library = section - logger.info(f"Found music library: {section.title}") - break + music_sections.append(section) - if not self.music_library: + if not music_sections: logger.warning("No music library found on Plex server") + return + + # Priority order for common library names + priority_names = ['Music', 'music', 'Audio', 'audio', 'Songs', 'songs'] + + # First, try to find a library with a priority name + for priority_name in priority_names: + for section in music_sections: + if section.title == priority_name: + self.music_library = section + logger.info(f"Found preferred music library: {section.title}") + return + + # If no priority match found, use the first one + self.music_library = music_sections[0] + logger.info(f"Found music library (first available): {self.music_library.title}") + + # Log other available libraries if multiple exist + if len(music_sections) > 1: + other_libraries = [s.title for s in music_sections[1:]] + logger.info(f"Other music libraries available: {', '.join(other_libraries)}") except Exception as e: logger.error(f"Error finding music library: {e}")