From 26c70ceffb7096e9d0c933cd344b4db942b441ba Mon Sep 17 00:00:00 2001 From: thebigmunch Date: Fri, 10 Apr 2020 17:52:29 -0400 Subject: [PATCH] Add support for ID3v2.2 audio encryption frame [#22] --- CHANGELOG.md | 2 +- src/audio_metadata/formats/id3v2frames.py | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee4a09f..a40215e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ This project adheres to [Semantic Versioning](https://semver.org). * ``ID3v2PopularimeterFrame``. * ``ID3v2PodcastFrame``. * Support for Apple ``GRP1`` and ``TCAT`` ID3v2 frames. -* ``ID3v2AENCFrame``. +* ``ID3v2AudioEncryptionFrame``. * Support for ID3v2 play counter frames. * ``ID3v2PlayCounterFrame``. diff --git a/src/audio_metadata/formats/id3v2frames.py b/src/audio_metadata/formats/id3v2frames.py index 8da1c6f..611de9d 100644 --- a/src/audio_metadata/formats/id3v2frames.py +++ b/src/audio_metadata/formats/id3v2frames.py @@ -1,9 +1,9 @@ # http://id3.org/Developer%20Information __all__ = [ - 'ID3v2AENCFrame', 'ID3v2APICFrame', 'ID3v2AudioEncryption', + 'ID3v2AudioEncryptionFrame', 'ID3v2BinaryDataFrame', 'ID3v2Comment', 'ID3v2CommentFrame', @@ -553,7 +553,7 @@ class ID3v2BinaryDataFrame(ID3v2Frame): repr=False, kw_only=True, ) -class ID3v2AENCFrame(ID3v2Frame): +class ID3v2AudioEncryptionFrame(ID3v2Frame): @datareader @staticmethod def _parse_frame_data(data): @@ -1452,8 +1452,7 @@ def _parse_frame_data(data): # TODO:ID3v2.2 -# TODO: BUF, CRA, CRM, ETC, EQU, LNK, MCI, MLL, -# TODO: REV, RVA +# TODO: BUF, CRM, ETC, EQU, LNK, MCI, MLL, REV, RVA # TODO: ID3v2.3 # TODO: COMR, ENCR, EQUA, ETCO, LINK, MLLT @@ -1461,8 +1460,7 @@ def _parse_frame_data(data): # TODO: ID3v2.4 # TODO: ASPI, COMR, ENCR, EQU2, ETCO, LINK, MLLT, -# TODO: POSS, RBUF, RGAD, RVA2, RVRB, -# TODO: SEEK, SIGN, XRVA +# TODO: POSS, RBUF, RGAD, RVA2, RVRB, SEEK, SIGN, XRVA ID3v2FrameTypes = { # Binary data frames 'PCS': ID3v2BinaryDataFrame, @@ -1472,11 +1470,12 @@ def _parse_frame_data(data): 'PCST': ID3v2BinaryDataFrame, # Complex binary data frames + 'CRA': ID3v2AudioEncryptionFrame, 'GEO': ID3v2GeneralEncapsulatedObjectFrame, 'STC': ID3v2SynchronizedTempoCodesFrame, 'UFI': ID3v2UniqueFileIdentifierFrame, - 'AENC': ID3v2AENCFrame, + 'AENC': ID3v2AudioEncryptionFrame, 'GEOB': ID3v2GeneralEncapsulatedObjectFrame, 'GRID': ID3v2GRIDFrame, 'PRIV': ID3v2PrivateFrame,