diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index 65f46c184a42..accdd06710cc 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -24,14 +24,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.2.7"; + version = "2.3.2"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; rev = "refs/tags/${version}"; - hash = "sha256-GMjeNX8C027F+Wl/HfluWap9pDOeQwlM9qOs0Sp5tTI="; + hash = "sha256-q71LczFsJAvZaWCQg4Lgzg2XX4XDFvA3x255Re00D9Q="; }; patches = [ diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index d085e4f1e89e..793dc672f0b6 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,12 +1,15 @@ # Do not edit manually, run ./update-providers.py { - version = "2.2.6"; + version = "2.3.2"; providers = { airplay = ps: [ ]; apple_music = ps: [ ]; # missing pywidevine + bluesound = ps: with ps; [ + pyblu + ]; builtin = ps: [ ]; chromecast = ps: with ps; [ @@ -40,6 +43,8 @@ opensubsonic = ps: with ps; [ py-opensonic ]; + player_group = ps: [ + ]; plex = ps: with ps; [ plexapi ]; @@ -48,6 +53,8 @@ radiobrowser = ps: with ps; [ radios ]; + siriusxm = ps: [ + ]; # missing sxm slimproto = ps: with ps; [ aioslimproto ]; @@ -55,10 +62,11 @@ bidict snapcast ]; - sonos = ps: with ps; [ + sonos = ps: [ + ]; # missing aiosonos + sonos_s1 = ps: with ps; [ defusedxml soco - sonos-websocket ]; soundcloud = ps: [ ]; # missing soundcloudpy @@ -76,8 +84,6 @@ ]; tunein = ps: [ ]; - ugp = ps: [ - ]; ytmusic = ps: with ps; [ yt-dlp ytmusicapi diff --git a/pkgs/by-name/mu/music-assistant/update-providers.py b/pkgs/by-name/mu/music-assistant/update-providers.py index cb2683120b14..5016f918deba 100755 --- a/pkgs/by-name/mu/music-assistant/update-providers.py +++ b/pkgs/by-name/mu/music-assistant/update-providers.py @@ -16,6 +16,7 @@ from typing import Dict, Final, List, Optional, Set, Union, cast from urllib.request import urlopen from jinja2 import Environment +from mashumaro.exceptions import MissingField from packaging.requirements import Requirement TEMPLATE = """# Do not edit manually, run ./update-providers.py @@ -113,7 +114,10 @@ async def get_provider_manifests(version: str = "master") -> List: from music_assistant.common.models.provider import ProviderManifest # type: ignore for fn in basedir.glob("**/manifest.json"): - manifests.append(await ProviderManifest.parse(fn)) + try: + manifests.append(await ProviderManifest.parse(fn)) + except MissingField as ex: + print(f"Error parsing {fn}", ex) return manifests