Skip to content

2.9.0

Latest

Choose a tag to compare

@a-rich a-rich released this 03 Jan 21:36
· 1 commit to main since this release

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

  • BaseConfig now 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.user instead of config.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 new BaseConfigFormatter class
    • PLATFORM_REGISTRY has been factored into its own module
  • Because the parent config object is now being passed around, instead of package-specific config objects, dumb things like having artist_first defined as a global option are no longer necessary (this is now config.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.yml moved into the docs folder
  • path to mkdocs.yml for change detection
  • add docs_dir to mkdocs.yml

build/test:

  • conftest.py moved into the tests folder
  • 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