Extraneous "b" in error messages
MarkTerMors opened this issue · comments
When beets presents an error message there is sometimes an extraneous letter "b" at the start of the path in the message.
Problem
This album is already in the library!
V
could not get filesize: [Errno 2] No such file or directory: b'/media/music/P/Peter Tosh/Equal Rights/01 Get Up, Stand Up.1.mp3'
Led to this problem:
(paste here)
beets version 1.6.1
Python version 3.11.2
Setup
- OS: Debian 12
- Python version: 3.11.2
- beets version: 1.6.1
This is likely not an issue with the path itself but how the error message is formatted or how the path is being handled internally by beets. It is probably related to how Python represents byte strings. The "b" prefix indicates that the string is in bytes rather than a standard string (which is in Unicode).
Looks like this is coming from
Line 958 in 6077b7a
If we want to pretty-print this, I guess we should be catching the various subclasses of OSError
explicity and apply displayable_path
when logging them (i.e. manually format the message instead of interpolating "{exc}"). Not sure whether that is worth the effort.