Help with Python/Eyed3 MusicCDIdFrame method

Dennis Lee Bieber wlfraed at ix.netcom.com
Mon Jun 6 13:35:00 EDT 2022


On Mon, 6 Jun 2022 12:37:47 +0200, Dave <dave at looktowindward.com> declaimed
the following:

>Hi,
>
>I’m trying to get the ID3 tags of an mp3 file. I trying to use the MusicCDIdFrame
> method but I can’t seem to get it right. Here is a code snippet:
>
>
> import eyed3
>import eyed3.id3
>import eyed3.id3.frames
>import eyed3.id3.apple

	As I understand the documentation, The last is Apple
specific/non-standard information...
https://eyed3.readthedocs.io/en/latest/eyed3.id3.html

"""
eyed3.id3.apple module

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.
"""

{I'm not thrilled by the documentation -- it is basically a collection on
one-line doc-strings with absolutely no hints as to proper usage}

>  File "/Documents/Python/Test1/main.py", line 94, in <module>
>    myCDID = myID3.id3.frames.MusicCDIdFrame(id=b'MCDI', toc=b'')
>AttributeError: 'Mp3AudioFile' object has no attribute 'id3'

"""
 eyed3.core.load(path, tag_version=None)[source]

    Loads the file identified by path and returns a concrete type of
eyed3.core.AudioFile. If path is not a file an IOError is raised. None is
returned when the file type (i.e. mime-type) is not recognized. The
following AudioFile types are supported:

            eyed3.mp3.Mp3AudioFile - For mp3 audio files.

            eyed3.id3.TagFile - For raw ID3 data files.
"""

	eyed3.id3.xxxx would appear to be specific to non-MP3 data files.

	So... I'd try the interactive environment and check each layer...

		dir(myID3)

(based upon the error, there will not be a "id3" key; so try
dir(myID3.xxxx) for each key you do find).

>
>
>Any help or suggestion greatly appreciated.
>

	Given this bit of source code from the documentation...

def initTag(self, version=id3.ID3_DEFAULT_VERSION):
        """Add a id3.Tag to the file (removing any existing tag if one
exists).
        """
        self.tag = id3.Tag()
        self.tag.version = version
        self.tag.file_info = id3.FileInfo(self.path)
        return self.tag

... you probably need to be looking at 
		myID3.tag.xxxx

... try
		dir(myID3.tag)
and see what all may appear...

	IOW: the ID3 information has already been parsed into separate "tag"
fields.


-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
	wlfraed at ix.netcom.com    http://wlfraed.microdiversity.freeddns.org/


More information about the Python-list mailing list