Source code for eyed3.id3.apple

"""
Here lies Apple frames, all of which are non-standard. All of these would have
been standard user text frames by anyone not being a bastard, on purpose.
"""
from .frames import Frame, TextFrame

PCST_FID = b"PCST"
WFED_FID = b"WFED"
TKWD_FID = b"TKWD"
TDES_FID = b"TDES"
TGID_FID = b"TGID"
GRP1_FID = b"GRP1"


[docs]class PCST(Frame): """Indicates a podcast. The 4 bytes of data is undefined, and is typically all 0.""" def __init__(self, _=None): super().__init__(PCST_FID)
[docs] def render(self): self.data = b"\x00" * 4 return super(PCST, self).render()
[docs]class TKWD(TextFrame): """Podcast keywords.""" def __init__(self, _=None): super().__init__(TKWD_FID)
[docs]class TDES(TextFrame): """Podcast description. One encoding byte followed by text per encoding.""" def __init__(self, _=None): super().__init__(TDES_FID)
[docs]class TGID(TextFrame): """Podcast URL of the audio file. This should be a W frame!""" def __init__(self, _=None): super().__init__(TGID_FID)
[docs]class WFED(TextFrame): """Another podcast URL, the feed URL it is said.""" def __init__(self, _=None, url=""): super().__init__(WFED_FID, url)
[docs]class GRP1(TextFrame): """Apple grouping, could be a TIT1 conversion.""" def __init__(self, _=None): super().__init__(GRP1_FID)