Forces a write of tags to file even if the file's tags match the database.
This is useful to force plugins that respond to write (e.g., Scrub and Zero) to run on those tags.
This may also make the TODO comment in zero.py less important since creates a way to manually run the zero plugin on a file imported as-is.
This changes the flag from --show_failures to --show-failures, which is more
standard among Unixy CLIs. It also reduces some space and line noise in the
output.
There were a number of problems with the changes to the util melange:
- It used print rather than logging, and its string formatting was probably
not Unicode-ready.
- The shell-command-like print lines were not quite compatible, which makes
their general usefulness questionable.
- Used an unsafe/leaky global variable for mkdirall.
- Used deprecated sets.Set.
Seemed better just to add this to the plugin where we need it so it's easier
to see where this goes.
It also seems unnecessary to me to print `mkdir -p` commands. They just
clutter up the output for me when I really just want to see the transcoding
commands.
Instead of recording only the most recently imported path and assuming
that all previous path have also been imported, we record all imported
paths and skip recorded paths when resuming the import.
This fixes an issue where parallelism would screw up the import order
and reimport some files. It also allows us to record singleton items.
We can apply the same strategy can be applied for incremental imports.
matches all letters starting with A to D (upper and lower case). This
change allows to put more artists into that bucket. E.g. artists
starting with ä or Ä and 0 to 9 and … (three dots)
Example config for overriding a bucket pattern:
bucket:
bucket_alpha: ['A - D', 'E - L', 'M - R', 'S - Z']
bucket_alpha_regex:
'A - D': ^[0-9a-dA-D…äÄ]