Switch to pure python library for dbus #82
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using the CLI requires system-level dbus packages to be installed, which vary by distro and can sometimes cause problems even when installed if trying to run
spotifycliin an isolated env (like installing with pipx or uv). To sidestep this issue, switch to usingjeepney, a pure python implementation of the dbus interface. Since it is lower level, the logic ends up a little bit more complex. This could be improved, but since the changes are still quite small it didn't feel worthwhile at this point.Closes #53.
I have written a script to test the output of all the supported CLI endpoints, but writing stable tests would require a bigger refactor, so I won't add it to the commit, I'll just paste it in here (since it doesn't rely on mocking the dbus response and instead requires exact setup).