whatsnowplaying / whats-now-playing

Titling software for streamers who use DJ software like Serato, Virtual DJ, and more.
MIT License
62 stars 11 forks source link

Bump tinytag from 1.10.1 to 2.0.0 #1103

Open dependabot[bot] opened 3 weeks ago

dependabot[bot] commented 3 weeks ago

Bumps tinytag from 1.10.1 to 2.0.0.

Release notes

Sourced from tinytag's releases.

2.0.0

  • BREAKING: Store 'disc', 'disc_total', 'track' and 'track_total' values as int instead of str
  • BREAKING: 'as_dict()' method (previously undocumented) returns tag field values in list form
  • BREAKING: TinyTagException no longer inherits LookupError
  • BREAKING: TinyTag subclasses are now private
  • BREAKING: Remove function to use custom audio file samples in tests
  • BREAKING: Remove support for Python 2
  • DEPRECATION: Mark 'ignore_errors' parameter for TinyTag.get() as obsolete
  • DEPRECATION: Mark 'audio_offset' attribute as obsolete
  • DEPRECATION: Deprecate 'extra' dict in favor of 'other' dict with values in list form
  • DEPRECATION: Deprecate 'get_image()' method in favor of 'images.any' property
  • Add type hints to codebase
  • Provide access to custom metadata fields through the 'other' dict
  • Provide access to all available images
  • Add more standard 'other' fields
  • Use Flit as Python build backend instead of Setuptools
  • ID3: Fix invalid sample rate/duration in some cases
  • ID3: Fix reading of UTF-16 strings without BOM
  • FLAC: Apply ID3 tags after Vorbis
  • OGG/WMA: Set missing 'channels' field
  • WMA: Set missing 'other.copyright' field
  • WMA: Raise exception if file is invalid
  • Various optimizations
Commits
  • cc78689 Release version 2.0.0 (#233)
  • 32bf05a init.py: consistent module docstring
  • 7227676 Update documentation for 2.0.0 (#217)
  • 43b8ea0 tinytag.py: make mypy happy
  • d9f7676 tinytag.py: mark DEBUG constant as private
  • 1d9748f Revert "tinytag.py: avoid false positives about unused code"
  • 7a0ae98 tinytag.py: rename dict type aliases
  • 9ec4600 tinytag.py: avoid false positives about unused code
  • b830729 Minor cleanups
  • 6c255b2 ID3: avoid unnecessary seeking to end
  • Additional commits viewable in compare view


Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | tinytag | [>= 1.10.a, < 1.11] |

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Note: Dependabot was ignoring updates to this dependency, but since you've updated it yourself we've started tracking it for you again. 🤖

Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by Sourcery

Build:

sourcery-ai[bot] commented 3 weeks ago

Reviewer's Guide by Sourcery

This PR updates the tinytag dependency from version 1.10.1 to 2.0.0. This is a major version upgrade that includes several breaking changes, primarily around data type changes, removal of Python 2 support, and deprecation of various features. The update also includes bug fixes, optimizations, and new features like type hints and improved image handling.

Class diagram for TinyTag changes in version 2.0.0

classDiagram
    class TinyTag {
        - disc : int
        - disc_total : int
        - track : int
        - track_total : int
        + as_dict() List
        + get() : TinyTag
        + images : ImageCollection
        - DEBUG : bool
    }
    class TinyTagException {
        <<Exception>>
    }
    TinyTagException --|> Exception
    TinyTag "1" --o "*" ImageCollection : images
    class ImageCollection {
        + any : Image
    }
    note for TinyTag "'disc', 'disc_total', 'track', and 'track_total' are now integers."
    note for TinyTagException "No longer inherits from LookupError."

File-Level Changes

Change Details Files
Major version upgrade of tinytag library with breaking changes
  • Changed data types for 'disc', 'disc_total', 'track' and 'track_total' from str to int
  • Modified 'as_dict()' method to return tag field values in list form
  • Changed TinyTagException inheritance structure
  • Made TinyTag subclasses private
  • Removed Python 2 support
  • Added type hints to the codebase
  • Introduced new 'other' dict for custom metadata fields
  • Improved image handling with new 'images.any' property
requirements-run.txt
Bug fixes and optimizations
  • Fixed ID3 sample rate/duration calculation issues
  • Corrected UTF-16 string reading without BOM in ID3
  • Improved FLAC tag handling
  • Added missing channel information for OGG/WMA formats
  • Added missing copyright field for WMA format
requirements-run.txt

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
codecov[bot] commented 3 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 57.20%. Comparing base (511c2da) to head (35c9f6e).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1103 +/- ## ========================================== - Coverage 61.79% 57.20% -4.59% ========================================== Files 45 45 Lines 7519 7519 ========================================== - Hits 4646 4301 -345 - Misses 2873 3218 +345 ``` | [Flag](https://app.codecov.io/gh/whatsnowplaying/whats-now-playing/pull/1103/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=whatsnowplaying) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/whatsnowplaying/whats-now-playing/pull/1103/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=whatsnowplaying) | `57.20% <ø> (-4.59%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=whatsnowplaying#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.