eyed3.plugins package¶
Submodules¶
eyed3.plugins.art module¶
-
class
eyed3.plugins.art.
ArtFile
(file_path)[source]¶ Bases:
object
-
property
image_data
¶
-
property
mime_type
¶
-
property
-
class
eyed3.plugins.art.
ArtPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
SUMMARY
= 'Art for albums, artists, etc.'¶
-
DESCRIPTION
= ''¶
-
NAMES
= ['art']¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
eyed3.plugins.classic module¶
-
class
eyed3.plugins.classic.
ClassicPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
SUMMARY
= 'Classic eyeD3 interface for viewing and editing tags.'¶
-
DESCRIPTION
= '\nAll PATH arguments are parsed and displayed. Directory paths are searched\nrecursively. Any editing options (--artist, --title) are applied to each file\nread.\n\nAll date options (-Y, --release-year excepted) follow ISO 8601 format. This is\n``yyyy-mm-ddThh:mm:ss``. The year is required, and each component thereafter is\noptional. For example, 2012-03 is valid, 2012--12 is not.\n'¶
-
NAMES
= ['classic']¶
-
handleFile
(f)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.display module¶
-
class
eyed3.plugins.display.
Pattern
(text=None, sub_patterns=None)[source]¶ Bases:
object
-
property
sub_patterns
¶
-
property
-
class
eyed3.plugins.display.
TextPattern
(text)[source]¶ Bases:
eyed3.plugins.display.Pattern
-
SPECIAL_CHARACTERS
= ['\\', '%', '$', ',', '(', ')', '=', 'n', 't']¶
-
SPECIAL_CHARACTERS_DESCRIPTIONS
= ['\\', '%', '$', ',', '(', ')', '=', 'New line', 'Tab']¶
-
-
class
eyed3.plugins.display.
ComplexPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.Pattern
-
TYPE
= 'unknown'¶
-
NAMES
= []¶
-
DESCRIPTION
= ''¶
-
PARAMETERS
= []¶
-
property
parameters
¶
-
property
name
¶
-
-
class
eyed3.plugins.display.
TagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.ComplexPattern
-
TYPE
= 'tag'¶
-
-
class
eyed3.plugins.display.
ArtistTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['a', 'artist']¶
-
DESCRIPTION
= 'Artist'¶
-
-
class
eyed3.plugins.display.
AlbumTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['A', 'album']¶
-
DESCRIPTION
= 'Album'¶
-
-
class
eyed3.plugins.display.
AlbumArtistTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['b', 'album-artist']¶
-
DESCRIPTION
= 'Album artist'¶
-
-
class
eyed3.plugins.display.
ComposerTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['C', 'composer']¶
-
DESCRIPTION
= 'Composer'¶
-
-
class
eyed3.plugins.display.
TitleTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['t', 'title']¶
-
DESCRIPTION
= 'Title'¶
-
-
class
eyed3.plugins.display.
TrackTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['n', 'track']¶
-
DESCRIPTION
= 'Track number'¶
-
-
class
eyed3.plugins.display.
TrackTotalTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['N', 'track-total']¶
-
DESCRIPTION
= 'Total track number'¶
-
-
class
eyed3.plugins.display.
DiscTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['d', 'disc', 'disc-num']¶
-
DESCRIPTION
= 'Disc number'¶
-
-
class
eyed3.plugins.display.
DiscTotalTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['D', 'disc-total']¶
-
DESCRIPTION
= 'Total disc number'¶
-
-
class
eyed3.plugins.display.
GenreTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['G', 'genre']¶
-
DESCRIPTION
= 'Genre'¶
-
-
class
eyed3.plugins.display.
GenreIdTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['genre-id']¶
-
DESCRIPTION
= 'Genre ID'¶
-
-
class
eyed3.plugins.display.
YearTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['Y', 'year']¶
-
DESCRIPTION
= 'Release year'¶
-
-
class
eyed3.plugins.display.
DescriptableTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
PARAMETERS
= [description(None), language(None)]¶
-
-
class
eyed3.plugins.display.
CommentTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.DescriptableTagPattern
-
NAMES
= ['c', 'comment']¶
-
PARAMETERS
= [description(None), language(None)]¶
-
DESCRIPTION
= 'First comment that matches description and language.'¶
-
-
class
eyed3.plugins.display.
AllCommentsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.DescriptableTagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['comments']¶
-
PARAMETERS
= [description(None), language(None), output(Comment: [Description: #d] [Lang: #l]: #t), separation(\n)]¶
-
DESCRIPTION
= 'All comments that are matching description and language (with output placeholders #d as description, #l as language & #t as text).'¶
-
-
class
eyed3.plugins.display.
ReleaseDateTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.AbstractDateTagPattern
-
NAMES
= ['release-date']¶
-
DESCRIPTION
= 'Relase date'¶
-
-
class
eyed3.plugins.display.
OriginalReleaseDateTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.AbstractDateTagPattern
-
NAMES
= ['original-release-date']¶
-
DESCRIPTION
= 'Original Relase date'¶
-
-
class
eyed3.plugins.display.
RecordingDateTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.AbstractDateTagPattern
-
NAMES
= ['recording-date']¶
-
DESCRIPTION
= 'Recording date'¶
-
-
class
eyed3.plugins.display.
EncodingDateTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.AbstractDateTagPattern
-
NAMES
= ['encoding-date']¶
-
DESCRIPTION
= 'Encoding date'¶
-
-
class
eyed3.plugins.display.
TaggingDateTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.AbstractDateTagPattern
-
NAMES
= ['tagging-date']¶
-
DESCRIPTION
= 'Tagging date'¶
-
-
class
eyed3.plugins.display.
PlayCountTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['play-count']¶
-
DESCRIPTION
= 'Play count'¶
-
-
class
eyed3.plugins.display.
PopularitiesTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['popm', 'popularities']¶
-
PARAMETERS
= [output(Popularity: [email: #e] [rating: #r] [play count: #c]), separation(\n)]¶
-
DESCRIPTION
= 'Popularities (with output placeholders #e as email, #r as rating & #c as count)'¶
-
-
class
eyed3.plugins.display.
BPMTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['bpm']¶
-
DESCRIPTION
= 'BPM'¶
-
-
class
eyed3.plugins.display.
PublisherTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['publisher']¶
-
DESCRIPTION
= 'Publisher'¶
-
-
class
eyed3.plugins.display.
UniqueFileIDTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['ufids', 'unique-file-ids']¶
-
PARAMETERS
= [output(Unique File ID: [#o] : #i), separation(\n)]¶
-
DESCRIPTION
= 'Unique File IDs (with output placeholders #o as owner & #i as unique id)'¶
-
-
class
eyed3.plugins.display.
LyricsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.DescriptableTagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['lyrics']¶
-
PARAMETERS
= [description(None), language(None), output(Lyrics: [Description: #d] [Lang: #l]: #t), separation(\n)]¶
-
DESCRIPTION
= 'All lyrics that are matching description and language (with output placeholders #d as description, #l as language & #t as text).'¶
-
-
class
eyed3.plugins.display.
TextsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['txxx', 'texts']¶
-
PARAMETERS
= [output(UserTextFrame: [Description: #d] #t), separation(\n)]¶
-
DESCRIPTION
= 'User text frames (with output placeholders #d as description & #t as text)'¶
-
-
class
eyed3.plugins.display.
ArtistURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['artist-url']¶
-
DESCRIPTION
= 'Artist URL'¶
-
-
class
eyed3.plugins.display.
AudioSourceURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['audio-source-url']¶
-
DESCRIPTION
= 'Audio source URL'¶
-
-
class
eyed3.plugins.display.
AudioFileURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['audio-file-url']¶
-
DESCRIPTION
= 'Audio file URL'¶
-
-
class
eyed3.plugins.display.
InternetRadioURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['internet-radio-url']¶
-
DESCRIPTION
= 'Internet radio URL'¶
-
-
class
eyed3.plugins.display.
CommercialURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['commercial-url']¶
-
DESCRIPTION
= 'Comercial URL'¶
-
-
class
eyed3.plugins.display.
PaymentURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['payment-url']¶
-
DESCRIPTION
= 'Payment URL'¶
-
-
class
eyed3.plugins.display.
PublisherURLTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['publisher-url']¶
-
DESCRIPTION
= 'Publisher URL'¶
-
-
class
eyed3.plugins.display.
CopyrightTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['copyright-url']¶
-
DESCRIPTION
= 'Copyright URL'¶
-
-
class
eyed3.plugins.display.
UserURLsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['user-urls']¶
-
PARAMETERS
= [output(#i [Description: #d]: #u), separation(\n)]¶
-
DESCRIPTION
= 'User URL frames (with output placeholders #i as frame id, #d as description & #u as url)'¶
-
-
class
eyed3.plugins.display.
ImagesTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['images', 'apic']¶
-
PARAMETERS
= [output(#t Image: [Type: #m] [Size: #s bytes] #d), separation(\n)]¶
-
DESCRIPTION
= 'Attached pictures (APIC)(with output placeholders #t as image type, #m as mime type, #s as size in bytes & #d as description)'¶
-
-
class
eyed3.plugins.display.
ImageURLsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['image-urls']¶
-
PARAMETERS
= [output(#t Image: [Type: #m] [URL: #u] #d), separation(\n)]¶
-
DESCRIPTION
= 'Attached pictures URLs(with output placeholders #t as image type, #m as mime type, #u as URL & #d as description)'¶
-
-
class
eyed3.plugins.display.
ObjectsTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['objects', 'gobj']¶
-
PARAMETERS
= [output(GEOB: [Size: #s bytes] [Type: #t] Description: #d | Filename: #f), separation(\n)]¶
-
DESCRIPTION
= 'Objects (GOBJ)(with output placeholders #s as size, #m as mime type, #d as description and #f as file name)'¶
-
-
class
eyed3.plugins.display.
PrivatesTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['privates', 'priv']¶
-
PARAMETERS
= [output(PRIV-Content: #b bytes | Owner: #o), separation(\n)]¶
-
DESCRIPTION
= 'Privates (APIC) (with output placeholders #c as content, #b as number of bytes & #o as owner)'¶
-
-
class
eyed3.plugins.display.
MusicCDIdTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['music-cd-id', 'mcdi']¶
-
DESCRIPTION
= 'Music CD Identification'¶
-
-
class
eyed3.plugins.display.
TermsOfUseTagPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.TagPattern
-
NAMES
= ['terms-of-use']¶
-
DESCRIPTION
= 'Terms of use'¶
-
-
class
eyed3.plugins.display.
FunctionPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.ComplexPattern
-
TYPE
= 'function'¶
-
-
class
eyed3.plugins.display.
FunctionFormatPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['format']¶
-
PARAMETERS
= [text, bold(None), color(None)]¶
-
DESCRIPTION
= 'Formats text bold and colored (grey, red, green, yellow, blue, magenta, cyan or white)'¶
-
-
class
eyed3.plugins.display.
FunctionNumberPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['num', 'number-format']¶
-
PARAMETERS
= [number, digits]¶
-
DESCRIPTION
= 'Appends leading zeros'¶
-
-
class
eyed3.plugins.display.
FunctionFilenamePattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['filename', 'fn']¶
-
PARAMETERS
= [basename(None)]¶
-
DESCRIPTION
= 'File name'¶
-
-
class
eyed3.plugins.display.
FunctionFilesizePattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['filesize']¶
-
DESCRIPTION
= 'Size of file'¶
-
-
class
eyed3.plugins.display.
FunctionTagVersionPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['tag-version']¶
-
DESCRIPTION
= 'Tag version'¶
-
-
class
eyed3.plugins.display.
FunctionLengthPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['length']¶
-
DESCRIPTION
= 'Length of aufio file'¶
-
-
class
eyed3.plugins.display.
FunctionMPEGVersionPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['mpeg-version']¶
-
PARAMETERS
= [output(MPEG#v\, Layer #l)]¶
-
DESCRIPTION
= 'MPEG version (with output placeholders #v as version & #l as layer)'¶
-
-
class
eyed3.plugins.display.
FunctionBitRatePattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['bit-rate']¶
-
DESCRIPTION
= 'Bit rate of aufio file'¶
-
-
class
eyed3.plugins.display.
FunctionSampleFrequencePattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['sample-freq']¶
-
DESCRIPTION
= 'Sample frequence of aufio file in Hz'¶
-
-
class
eyed3.plugins.display.
FunctionAudioModePattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['audio-mode']¶
-
DESCRIPTION
= 'Mode of aufio file: mono/stereo'¶
-
-
class
eyed3.plugins.display.
FunctionNotEmptyPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
,eyed3.plugins.display.PlaceholderUsagePattern
-
NAMES
= ['not-empty']¶
-
PARAMETERS
= [text, output(#t), empty(None)]¶
-
DESCRIPTION
= 'If condition is not empty (with output placeholder #t as text)'¶
-
-
class
eyed3.plugins.display.
FunctionRepeatPattern
(name, parameters)[source]¶ Bases:
eyed3.plugins.display.FunctionPattern
-
NAMES
= ['repeat']¶
-
PARAMETERS
= [text, count]¶
-
DESCRIPTION
= 'Repeats text'¶
-
-
class
eyed3.plugins.display.
DisplayPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['display']¶
-
SUMMARY
= 'Tag Display'¶
-
DESCRIPTION
= '\nPrints specific tag information.\n'¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.extract module¶
-
class
eyed3.plugins.extract.
ExtractPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['extract']¶
-
SUMMARY
= 'Extract tags from audio files.'¶
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.fixup module¶
-
class
eyed3.plugins.fixup.
FixupPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['fixup']¶
-
SUMMARY
= 'Performs various checks and fixes to directories of audio files.'¶
-
DESCRIPTION
= '\nOperates on directories at a time, fixing each as a unit (album,\ncompilation, live set, etc.). All of these should have common dates,\nfor example but other characteristics may vary. The ``--type`` should be used\nwhenever possible, ``lp`` is the default.\n\nThe following test and fixes always apply:\n\n 1. Every file will be given an ID3 tag if one is missing.\n 2. Set ID3 v2.4.\n 3. Set a consistent album name for all files in the directory.\n 4. Set a consistent artist name for all files, unless the type is\n ``various`` in which case the artist may vary (but must exist).\n 5. Ensure each file has a title.\n 6. Ensure each file has a track # and track total.\n 7. Ensure all files have a release and original release date, unless the\n type is ``live`` in which case the recording date is set.\n 8. All ID3 frames of the following types are removed: USER, PRIV\n 9. All ID3 files have TLEN (track length in ms) set (or updated).\n 10. The album/dir type is set in the tag. Types of ``lp`` and ``various``\n do not have this field set since the latter is the default and the\n former can be determined during sync. In ID3 terms the value is in\n TXXX (description: ``eyeD3#album_type``).\n 11. Files are renamed as follows:\n - Type ``various``: ${track:num} - ${artist} - ${title}\n - Type ``single``: ${artist} - ${title}\n - All other types: ${artist} - ${track:num} - ${title}\n - A rename template can be supplied in --file-rename-pattern\n 12. Directories are renamed as follows:\n - Type ``live``: ${best_date:prefer_recording} - ${album}\n - All other types: ${best_date:prefer_release} - ${album}\n - A rename template can be supplied in --dir-rename-pattern\n\nAlbum types:\n\n - ``lp``: A traditinal "album" of songs from a single artist.\n No extra info is written to the tag since this is the default.\n - ``ep``: A short collection of songs from a single artist. The string \'ep\'\n is written to the tag\'s ``eyeD3#album_type`` field.\n - ``various``: A collection of songs from different artists. The string\n \'various\' is written to the tag\'s ``eyeD3#album_type`` field.\n - ``live``: A collection of live recordings from a single artist. The string\n \'live\' is written to the tag\'s ``eyeD3#album_type`` field.\n - ``compilation``: A collection of songs from various recordings by a single\n artist. The string \'compilation\' is written to the tag\'s\n ``eyeD3#album_type`` field. Compilation dates, unlike other types, may\n differ.\n - ``demo``: A demo recording by a single artist. The string \'demo\' is\n written to the tag\'s ``eyeD3#album_type`` field.\n - ``single``: A track that should no be associated with an album (even if\n it has album metadata). The string \'single\' is written to the tag\'s\n ``eyeD3#album_type`` field.\n\n'¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.genres module¶
-
class
eyed3.plugins.genres.
GenreListPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.Plugin
-
SUMMARY
= 'Display the full list of standard ID3 genres.'¶
-
DESCRIPTION
= 'ID3 v1 defined a list of genres and mapped them to to numeric values so they can be stored as a single byte.\nIt is *recommended* that these genres are used although most newer software (including eyeD3) does not care.'¶
-
NAMES
= ['genres']¶
-
eyed3.plugins.itunes module¶
-
class
eyed3.plugins.itunes.
Podcast
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['itunes-podcast']¶
-
SUMMARY
= 'Adds (or removes) the tags necessary for Apple iTunes to identify the file as a podcast.'¶
-
handleFile
(f)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.jsontag module¶
-
class
eyed3.plugins.jsontag.
JsonTagPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['json']¶
-
SUMMARY
= 'Outputs all tags as JSON.'¶
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.lameinfo module¶
-
class
eyed3.plugins.lameinfo.
LameInfoPlugin
(arg_parser, cache_files=False, track_images=False)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['lameinfo', 'xing']¶
-
SUMMARY
= 'Outputs lame header (if one exists) for file.'¶
-
DESCRIPTION
= "The 'lame' (or xing) header provides extra information about the mp3 that is useful to players and encoders but not officially part of the mp3 specification. Variable bit rate mp3s, for example, use this header.\n\nFor more details see `here <http://gabriel.mp3-tech.org/mp3infotag.html>`_"¶
-
handleFile
(f, *_, **__)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.lastfm module¶
eyed3.plugins.mimetype module¶
-
class
eyed3.plugins.mimetype.
MimetypesPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['mimetypes']¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.nfo module¶
-
class
eyed3.plugins.nfo.
NfoPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['nfo']¶
-
SUMMARY
= 'Create NFO files for each directory scanned.'¶
-
DESCRIPTION
= 'Each directory scanned is treated as an album and a `NFO <http://en.wikipedia.org/wiki/.nfo>`_ file is written to standard out.\n\nNFO files are often found in music archives.'¶
-
handleFile
(f)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.pymod module¶
-
class
eyed3.plugins.pymod.
PyModulePlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
SUMMARY
= 'Imports a Python module file and calls its functions for the the various plugin events.'¶
-
DESCRIPTION
= "\nIf no module if provided a file named eyeD3mod.py in the current working directory is\nimported. If any of the following methods exist they still be invoked:\n\ndef audioFile(audio_file):\n '''Invoked for every audio file that is encountered. The ``audio_file``\n is of type ``eyed3.core.AudioFile``; currently this is the concrete type\n ``eyed3.mp3.Mp3AudioFile``.'''\n pass\n\ndef audioDir(d, audio_files, images):\n '''This function is invoked for any directory (``d``) that contains audio\n (``audio_files``) or image (``images``) media.'''\n pass\n\ndef done():\n '''This method is invoke before successful exit.'''\n pass\n"¶
-
NAMES
= ['pymod']¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
handleFile
(f)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.stats module¶
-
class
eyed3.plugins.stats.
Id3TagRules
[source]¶ Bases:
eyed3.plugins.stats.Rule
-
class
eyed3.plugins.stats.
BitrateRule
[source]¶ Bases:
eyed3.plugins.stats.Rule
-
BITRATE_DEDUCTIONS
= [(128, -20), (192, -10)]¶
-
-
class
eyed3.plugins.stats.
FileRule
[source]¶ Bases:
eyed3.plugins.stats.Rule
-
class
eyed3.plugins.stats.
ArtworkRule
[source]¶ Bases:
eyed3.plugins.stats.Rule
-
class
eyed3.plugins.stats.
Id3FrameRules
[source]¶ Bases:
eyed3.plugins.stats.Rule
-
class
eyed3.plugins.stats.
Stat
(*args, **kwargs)[source]¶ Bases:
collections.Counter
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
TOTAL
= 'total'¶
-
-
class
eyed3.plugins.stats.
AudioStat
(*args, **kwargs)[source]¶ Bases:
eyed3.plugins.stats.Stat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
FileCounterStat
[source]¶ Bases:
eyed3.plugins.stats.Stat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
SUPPORTED_AUDIO
= 'audio'¶
-
UNSUPPORTED_AUDIO
= 'audio (unsupported)'¶
-
HIDDEN_FILES
= 'hidden'¶
-
OTHER_FILES
= 'other'¶
-
-
class
eyed3.plugins.stats.
MimeTypeStat
(*args, **kwargs)[source]¶ Bases:
eyed3.plugins.stats.Stat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
Id3VersionCounter
[source]¶ Bases:
eyed3.plugins.stats.AudioStat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
Id3FrameCounter
(*args, **kwargs)[source]¶ Bases:
eyed3.plugins.stats.AudioStat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
BitrateCounter
[source]¶ Bases:
eyed3.plugins.stats.AudioStat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
RuleViolationStat
(*args, **kwargs)[source]¶ Bases:
eyed3.plugins.stats.Stat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
Id3ImageTypeCounter
[source]¶ Bases:
eyed3.plugins.stats.AudioStat
Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts.
>>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new counter from an iterable >>> c = Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> c = Counter(a=4, b=2) # a new counter from keyword args
-
class
eyed3.plugins.stats.
StatisticsPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['stats']¶
-
SUMMARY
= 'Computes statistics for all audio files scanned.'¶
-
handleFile
(path)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.xep_118 module¶
-
class
eyed3.plugins.xep_118.
Xep118Plugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['xep-118']¶
-
SUMMARY
= 'Outputs all tags in XEP-118 XML format. (see: http://xmpp.org/extensions/xep-0118.html)'¶
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
eyed3.plugins.yamltag module¶
-
class
eyed3.plugins.yamltag.
YamlTagPlugin
(arg_parser)[source]¶ Bases:
eyed3.plugins.LoaderPlugin
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
NAMES
= ['yaml']¶
-
SUMMARY
= 'Outputs all tags as YAML.'¶
-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-
Module contents¶
-
eyed3.plugins.
load
(name=None, reload=False, paths=None)[source]¶ Returns the eyed3.plugins.Plugin class identified by
name
. Ifname
isNone
then the full list of plugins is returned. Once a plugin is loaded its class object is cached, and future calls to this function will returned the cached version. Usereload=True
to refresh the cache.
-
class
eyed3.plugins.
Plugin
(arg_parser)[source]¶ Bases:
eyed3.utils.FileHandler
Base class for all eyeD3 plugins
-
SUMMARY
= 'eyeD3 plugin'¶
-
DESCRIPTION
= ''¶
-
NAMES
= []¶
-
start
(args, config)[source]¶ Called after command line parsing but before any paths are processed. The
self.args
argument (the parsed command line) andself.config
(the user config, if any) is set here.
-
-
class
eyed3.plugins.
LoaderPlugin
(arg_parser, cache_files=False, track_images=False)[source]¶ Bases:
eyed3.plugins.Plugin
A base class that provides auto loading of audio files
Constructor. If
cache_files
is True (off by default) then each AudioFile is appended to_file_cache
duringhandleFile
and the list is cleared byhandleDirectory
.-
handleFile
(f, *args, **kwargs)[source]¶ Loads
f
and setsself.audio_file
to an instance ofeyed3.core.AudioFile
orNone
if an error occurred or the file is not a recognized type.The
*args
and**kwargs
are passed toeyed3.core.load()
.
-