Add Bandcamp Music Provider#2871
Conversation
|
OK, I forgot |
- bump bandcamp-async-api to 0.0.4
- is_streaming_provider is now True - catching and raising exceptions revamp - remove redundant stream content type
# Conflicts: # requirements_all.txt
|
@ALERTua there is a test failure unfortunately |
|
I am sorry, I don't know how this happened. On my way to fix the tests v_v |
- Add error handling for missing streaming links in BandcampProvider. - Enhance error handling and update test assertions for Bandcamp provider.
|
@OzGav the tests are fixed. Sorry I forgot to run tests after a refactoring v_v. |
|
Looks pretty good. The only thing I would say is quite a few ignores being used which we don’t see in the other providers so it would be better to properly type the code (other than the arguments in get_config_entries which are pretty much always unused and ignored) |
|
Done. Thank you for your feedback. |
|
Few comments from my side, but all in all, awesome job on this new music provider <3. As for your pre-commit fixes. Feel free to open a separate PR for this :). |
- Remove search limit configuration. - CONF_TOP_TRACKS_LIMIT moved to advanced config category - Update test to use `DEFAULT_TOP_TRACKS_LIMIT` constant.
MarvinSchenkel
left a comment
There was a problem hiding this comment.
Awesome addition to the music providers, thanks a lot @ALERTua 🎉
Bandcamp Music Provider
This PR adds support for Bandcamp Music Provider based on
bandcamp_async_apiPython library.API
Provider
ProviderFeature.BROWSEwould cause an immense load on the API.ProviderFeature.RECOMMENDATIONSandProviderFeature.SIMILAR_TRACKS.d5369777_music_assistant_devaddon with this configuration:Documentation
Maintaining the Provider Code in the Future
Digressions
edit: PR for most of these items: #2871
scripts/run-in-env.sh. This is unneeded due touv.uv run pre-commit runexecutes the same calls but on any OS.python3 -m ...which should also be substituted byuv run -m ...(Spoiler) My resulting working pre-commit config that does everything that the original one does, but on any OS
LFinpyproject.tomland.gitattributesto allow for development on any OS.