feat:
- opt-in aggregation playlists
- log the number of playlists created by playlist_builder
- config options for minimum track count for playlist_builder
- improve config repr
refactor
BaseConfignow has package-level config objects defined within it (i.e. the right way) instead of merging them together at runtime- Config keys are lower-case now instead of upper-case
- Config keys reflect this nesting instead of being flattened -- e.g.
config.sync.userinstead ofconfig.user - Because of this refactor, there are changes necessary to avoid circular imports...for e.g.:
- The
__repr__function for config objects has been factored out into a newBaseConfigFormatterclass PLATFORM_REGISTRYhas been factored into its own module
- The
- Because the parent config object is now being passed around, instead of package-specific config objects, dumb things like having
artist_firstdefined as a global option are no longer necessary (this is nowconfig.sync.artist_first) - A few changes have been made in order to clean up the warnings when running pytest
- The root of the director has been cleaned up a little bit
docs
mkdocs.ymlmoved into thedocsfolder- path to mkdocs.yml for change detection
- add docs_dir to mkdocs.yml
build/test:
conftest.pymoved into thetestsfolder- add pre-commit dependency and hooks
- fix inadvertent mocking of config fixture
- coverage for config_formatter
- ignore coverage on YAML representer
- cache Action from v2 to v4
script:
- remove files from USB if they're not found in a collection