Rewrite of Music provider sync engine (#310)
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sat, 14 May 2022 13:27:12 +0000 (15:27 +0200)
committerGitHub <noreply@github.com>
Sat, 14 May 2022 13:27:12 +0000 (15:27 +0200)
commit25127e9169e95fb1054c1ec2c155f5df0fbf2b15
treebc64bb8437c8c6f071fbb7de54f16ea80fa55d6d
parent2d0c30e9b8311bc20e57ed423532d4b982924726
Rewrite of Music provider sync engine (#310)

* use generators for large listings to reduce memory usage

* change datamodel to allow multiple instances of providers

* do not crash if artist has no folder on disk

* speedup musicbrainz matching

* fixes for object matching using sort name

* fix tests

* fix library add/remove

* ensure sort_name exists

* only add filesystem artists/albums with their own folder in library by default
32 files changed:
examples/full.py
examples/simple.py
music_assistant/controllers/metadata/__init__.py
music_assistant/controllers/metadata/audiodb.py
music_assistant/controllers/metadata/fanarttv.py
music_assistant/controllers/metadata/musicbrainz.py
music_assistant/controllers/music/__init__.py
music_assistant/controllers/music/albums.py
music_assistant/controllers/music/artists.py
music_assistant/controllers/music/playlists.py
music_assistant/controllers/music/providers/filesystem.py
music_assistant/controllers/music/providers/qobuz.py
music_assistant/controllers/music/providers/spotify.py
music_assistant/controllers/music/providers/tunein.py
music_assistant/controllers/music/radio.py
music_assistant/controllers/music/tracks.py
music_assistant/controllers/stream.py
music_assistant/helpers/audio.py
music_assistant/helpers/cache.py
music_assistant/helpers/compare.py
music_assistant/helpers/database.py
music_assistant/helpers/images.py
music_assistant/helpers/uri.py
music_assistant/helpers/util.py
music_assistant/models/config.py
music_assistant/models/enums.py
music_assistant/models/media_controller.py
music_assistant/models/media_items.py
music_assistant/models/player_queue.py
music_assistant/models/provider.py
requirements.txt
tests/test_helpers.py