[Python-modules-commits] [mutagen] 02/06: Import mutagen_1.33.1.orig.tar.gz
Tristan Seligmann
mithrandi at moszumanska.debian.org
Sun Jul 3 22:27:24 UTC 2016
This is an automated email from the git hooks/post-receive script.
mithrandi pushed a commit to branch master
in repository mutagen.
commit d919475ac2eaf43d3246aeccffef00bae4e5ab63
Author: Tristan Seligmann <mithrandi at debian.org>
Date: Mon Jul 4 00:20:50 2016 +0200
Import mutagen_1.33.1.orig.tar.gz
---
MANIFEST.in | 10 +-
NEWS | 24 ++
PKG-INFO | 2 +-
docs/Makefile | 2 +-
docs/api/ape.rst | 6 +-
docs/api/asf.rst | 13 +-
docs/api/base.rst | 70 +++--
docs/api/flac.rst | 16 +-
docs/api/id3.rst | 7 +-
docs/api/index.rst | 4 +-
docs/api/monkeysaudio.rst | 1 +
docs/api/mp3.rst | 9 +-
docs/api/mp4.rst | 16 +-
docs/api/musepack.rst | 1 +
docs/api/ogg.rst | 6 +-
docs/api/oggflac.rst | 10 +-
docs/api/oggopus.rst | 9 +-
docs/api/oggspeex.rst | 9 +-
docs/api/oggtheora.rst | 9 +-
docs/api/oggvorbis.rst | 9 +-
docs/api/smf.rst | 4 +-
docs/api/trueaudio.rst | 6 +-
docs/api_notes.rst | 85 -------
docs/bugs.rst | 45 ----
docs/conf.py | 18 +-
docs/contact.rst | 4 +-
docs/images/Makefile | 29 +++
docs/images/favicon.ico | Bin 0 -> 34494 bytes
docs/images/logo.png | Bin 9155 -> 0 bytes
docs/index.rst | 35 ++-
docs/man/mid3v2.rst | 6 +-
docs/tutorial.rst | 359 --------------------------
docs/user/apev2.rst | 35 +++
docs/user/classes.rst | 101 ++++++++
docs/user/examples/fileobj-gio.py | 130 ++++++++++
docs/user/examples/fileobj-iface.py | 105 ++++++++
docs/user/filelike.rst | 43 ++++
docs/user/gettingstarted.rst | 90 +++++++
docs/user/id3.rst | 169 +++++++++++++
docs/user/index.rst | 17 ++
docs/user/mp4.rst | 17 ++
docs/user/padding.rst | 43 ++++
docs/user/vcomment.rst | 100 ++++++++
man/mid3v2.1 | 6 +-
mutagen/__init__.py | 4 +-
mutagen/_file.py | 146 +++++++----
mutagen/_tags.py | 61 +++--
mutagen/_util.py | 203 ++++++++++++++-
mutagen/_vorbis.py | 23 +-
mutagen/aac.py | 39 ++-
mutagen/aiff.py | 126 +++++----
mutagen/apev2.py | 140 ++++++----
mutagen/asf/__init__.py | 141 ++++++-----
mutagen/asf/_util.py | 2 +-
mutagen/easyid3.py | 28 +-
mutagen/easymp4.py | 15 +-
mutagen/flac.py | 282 ++++++++++++---------
mutagen/id3/__init__.py | 319 +++++++++++++----------
mutagen/id3/_frames.py | 8 +-
mutagen/id3/_specs.py | 5 +-
mutagen/id3/_util.py | 4 +-
mutagen/m4a.py | 9 +-
mutagen/monkeysaudio.py | 29 ++-
mutagen/mp3.py | 362 --------------------------
mutagen/mp3/__init__.py | 464 ++++++++++++++++++++++++++++++++++
mutagen/{_mp3util.py => mp3/_util.py} | 4 +-
mutagen/mp4/__init__.py | 152 ++++++-----
mutagen/mp4/_atom.py | 3 +
mutagen/musepack.py | 38 ++-
mutagen/ogg.py | 123 +++++----
mutagen/oggflac.py | 52 ++--
mutagen/oggopus.py | 50 +++-
mutagen/oggspeex.py | 58 +++--
mutagen/oggtheora.py | 52 +++-
mutagen/oggvorbis.py | 60 +++--
mutagen/optimfrog.py | 22 +-
mutagen/smf.py | 24 +-
mutagen/trueaudio.py | 44 +++-
mutagen/wavpack.py | 12 +-
setup.py | 26 +-
tests/data/CVE-2007-4619-1.flac | Bin 50904 -> 0 bytes
tests/data/CVE-2007-4619-12.flac | Bin 50904 -> 0 bytes
tests/data/CVE-2007-4619-2.flac | Bin 50904 -> 0 bytes
tests/data/image.jpg | Bin 0 -> 743 bytes
tests/test___init__.py | 298 +++++++++++++++++++++-
tests/test__id3frames.py | 65 ++---
tests/test__id3specs.py | 3 +
tests/test__util.py | 17 +-
tests/test__vorbis.py | 10 +-
tests/test_aiff.py | 2 +-
tests/test_apev2.py | 9 +-
tests/test_asf.py | 5 +-
tests/test_easyid3.py | 56 +++-
tests/test_easymp4.py | 3 +-
tests/test_flac.py | 86 +------
tests/test_id3.py | 13 +-
tests/test_mp3.py | 49 +++-
tests/test_mp4.py | 2 +-
tests/test_ogg.py | 6 +-
tests/test_oggflac.py | 12 +-
tests/test_oggopus.py | 6 +-
tests/test_oggspeex.py | 10 +-
tests/test_oggtheora.py | 12 +-
tests/test_oggvorbis.py | 10 +-
tests/test_tools_mid3v2.py | 31 +++
tests/test_trueaudio.py | 4 +-
tests/test_wavpack.py | 4 +-
tools/mid3v2 | 81 +++++-
108 files changed, 3638 insertions(+), 1966 deletions(-)
diff --git a/MANIFEST.in b/MANIFEST.in
index af86ce4..e48dc4c 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,11 +6,5 @@ include tests/data/*
include tests/quality/*
include tests/*.py
include man/*.1
-include docs/Makefile
-include docs/*.py
-include docs/*.rst
-include docs/images/*.svg
-include docs/images/*.png
-include docs/api/*.rst
-include docs/man/*.rst
-include docs/man/Makefile
+recursive-include docs *.py Makefile *.rst *.png *.svg *.ico
+prune docs/_build
diff --git a/NEWS b/NEWS
index cb4960a..96b9dbd 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,27 @@
+1.33.1 - 2016.06.29
+-------------------
+
+* Fix Overeager deprecation warnings :bug:`261`
+
+
+1.33 - 2016.06.29
+-----------------
+
+* FileType, Metadata: File-like object support :bug:`1`
+* mid3v2: Add APIC support. :bug:`47`
+* EasyID3: Fix handling of RVA2 frames with non-lowercase description
+ :bug:`215`
+* mid3v2: Add UFID support. :bug:`234`
+* ID3: Include human-readable representation of the picture type in
+ APIC._pprint() :bug:`244`
+* EasyID3: make albumartist use TPE2 and move performer to TXXX. :bug:`252`
+* ID3: id3.ID3TimeStamp comparator: check type :pr:`260`
+ (Fabian Peter Hammerle)
+* setup.py: follow PEP440 for the development version
+* FileType/Metadata.load/save/delete no longer raise IOError or IOError
+ subclasses. They only raise subclasses of MutagenError.
+
+
1.32 - 2016.05.02
-----------------
diff --git a/PKG-INFO b/PKG-INFO
index 4594950..9d4d18d 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mutagen
-Version: 1.32
+Version: 1.33.1
Summary: read and write audio tags for many formats
Home-page: https://github.com/quodlibet/mutagen
Author: Michael Urman
diff --git a/docs/Makefile b/docs/Makefile
index 3720e52..1491c28 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,5 +1,5 @@
all:
- sphinx-build -E -b html -n . _build
+ sphinx-build -b html -n . _build
clean:
rm -rf _build
diff --git a/docs/api/ape.rst b/docs/api/ape.rst
index bc50972..fb7fb55 100644
--- a/docs/api/ape.rst
+++ b/docs/api/ape.rst
@@ -11,11 +11,11 @@ APEv2
.. autoexception:: mutagen.apev2.APEBadItemError
-.. autoclass:: mutagen.apev2.APEv2File(filename)
+.. autoclass:: mutagen.apev2.APEv2File
:show-inheritance:
:members:
- :undoc-members:
.. autoclass:: mutagen.apev2.APEv2
- :show-inheritance:
:members:
+
+ :bases: `mutagen.Metadata`
diff --git a/docs/api/asf.rst b/docs/api/asf.rst
index 6389d47..f042671 100644
--- a/docs/api/asf.rst
+++ b/docs/api/asf.rst
@@ -1,9 +1,12 @@
ASF
===
+.. currentmodule:: mutagen
+
.. automodule:: mutagen.asf
-.. autoclass:: mutagen.asf.ASF(filename)
+
+.. autoclass:: mutagen.asf.ASF
:show-inheritance:
:members:
@@ -11,19 +14,11 @@ ASF
.. autoclass:: mutagen.asf.ASFInfo
:show-inheritance:
:members:
- :undoc-members:
.. autoclass:: mutagen.asf.ASFTags
:show-inheritance:
:members:
- :undoc-members:
-
-
-.. autoclass:: mutagen.asf.error
- :show-inheritance:
- :members:
- :undoc-members:
.. autoclass:: mutagen.asf.ASFBaseAttribute()
diff --git a/docs/api/base.rst b/docs/api/base.rst
index b7f9cb7..bc19837 100644
--- a/docs/api/base.rst
+++ b/docs/api/base.rst
@@ -8,38 +8,25 @@ Main Module
Base Classes
~~~~~~~~~~~~
-.. class:: text()
-
- This type only exists for documentation purposes. It represents
- :obj:`unicode` under Python 2 and :obj:`str` under Python 3.
-
-
-.. autoclass:: mutagen.FileType(filename)
- :members: pprint, add_tags, mime
+.. autoclass:: mutagen.FileType
+ :members: pprint, add_tags, mime, save, delete
:show-inheritance:
- .. automethod:: delete()
-
- .. automethod:: save()
-
.. autoclass:: mutagen.Tags
-
- .. automethod:: pprint()
+ :members: pprint
.. autoclass:: mutagen.Metadata
-
- .. automethod:: delete()
-
- .. automethod:: save()
+ :show-inheritance:
+ :members: save, delete
.. autoclass:: mutagen.StreamInfo
:members: pprint
-.. autoclass:: mutagen.PaddingInfo()
+.. autoclass:: mutagen.PaddingInfo
:members:
@@ -55,3 +42,48 @@ Internal Classes
.. autoclass:: mutagen._util.DictProxy
:show-inheritance:
+
+
+Other Classes and Functions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. currentmodule:: mutagen
+
+.. class:: text()
+
+ This type only exists for documentation purposes. It represents
+ :obj:`unicode` under Python 2 and :obj:`str` under Python 3.
+
+
+.. class:: bytes()
+
+ This type only exists for documentation purposes. It represents
+ :obj:`python:str` under Python 2 and :obj:`python3:bytes` under Python 3.
+
+
+.. class:: fspath()
+
+ This type only exists for documentation purposes. It represents a file
+ name which can be :obj:`python:str` or :obj:`python:unicode` under Python
+ 2 and :obj:`python3:bytes` or :obj:`python3:str` under Python 3.
+
+.. class:: fileobj()
+
+ This type only exists for documentation purposes. A file-like object.
+ See :doc:`/user/filelike` for more information.
+
+.. class:: filething()
+
+ This type only exists for documentation purposes. Either a `fspath` or
+ a `fileobj`.
+
+
+.. function:: PaddingFunction(info)
+
+ A function you can implement and pass to various ``save()`` methods for
+ controlling the amount of padding to use. See :doc:`/user/padding` for
+ more information.
+
+ :param PaddingInfo info:
+ :returns: The amount of padding to use
+ :rtype: int
diff --git a/docs/api/flac.rst b/docs/api/flac.rst
index 841d750..c35e73c 100644
--- a/docs/api/flac.rst
+++ b/docs/api/flac.rst
@@ -1,20 +1,21 @@
FLAC
====
+.. currentmodule:: mutagen
+
.. automodule:: mutagen.flac
-.. autoclass:: mutagen.flac.FLAC(filename)
+.. autoclass:: mutagen.flac.FLAC
:show-inheritance:
:members:
- :exclude-members: vc, METADATA_BLOCKS
+ :exclude-members: vc, METADATA_BLOCKS, load, add_vorbiscomment
-.. autoclass:: mutagen.flac.StreamInfo()
+.. autoclass:: mutagen.flac.StreamInfo
:members:
-.. autoclass:: mutagen.flac.Picture
- :members:
+ :bases: `mutagen.StreamInfo`
-.. autoclass:: mutagen.flac.SeekTable
+.. autoclass:: mutagen.flac.Picture
:members:
.. autoclass:: mutagen.flac.CueSheet
@@ -25,3 +26,6 @@ FLAC
.. autoclass:: mutagen.flac.CueSheetTrackIndex
:members:
+
+.. autoclass:: mutagen.flac.SeekTable
+ :members:
diff --git a/docs/api/id3.rst b/docs/api/id3.rst
index 545c6c2..79afad8 100644
--- a/docs/api/id3.rst
+++ b/docs/api/id3.rst
@@ -12,6 +12,9 @@ ID3 Frames
id3_frames
+.. autoclass:: mutagen.id3.ID3v1SaveOptions
+ :members:
+ :member-order: bysource
.. autoclass:: mutagen.id3.PictureType
:members:
@@ -25,12 +28,12 @@ ID3 Frames
ID3
---
-.. autoclass:: mutagen.id3.ID3()
+.. autoclass:: mutagen.id3.ID3
:show-inheritance:
:members:
:exclude-members: loaded_frame
-.. autoclass:: mutagen.id3.ID3FileType(filename, ID3=None)
+.. autoclass:: mutagen.id3.ID3FileType
:members:
:exclude-members: ID3
diff --git a/docs/api/index.rst b/docs/api/index.rst
index c4a0976..c84fe30 100644
--- a/docs/api/index.rst
+++ b/docs/api/index.rst
@@ -1,5 +1,5 @@
-API
-===
+API Reference
+=============
.. toctree::
diff --git a/docs/api/monkeysaudio.rst b/docs/api/monkeysaudio.rst
index b700226..67d7c6f 100644
--- a/docs/api/monkeysaudio.rst
+++ b/docs/api/monkeysaudio.rst
@@ -8,4 +8,5 @@ Monkey's Audio
:members:
.. autoclass:: mutagen.monkeysaudio.MonkeysAudioInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/mp3.rst b/docs/api/mp3.rst
index 533a7d1..ad4a872 100644
--- a/docs/api/mp3.rst
+++ b/docs/api/mp3.rst
@@ -3,17 +3,18 @@ MP3
.. automodule:: mutagen.mp3
-.. autoclass:: mutagen.mp3.MP3(filename, ID3=None)
+.. autoclass:: mutagen.mp3.MP3
:show-inheritance:
:members:
-.. autoclass:: mutagen.mp3.MPEGInfo()
+.. autoclass:: mutagen.mp3.MPEGInfo
+ :show-inheritance:
:members:
-.. autoclass:: mutagen.mp3.BitrateMode()
+.. autoclass:: mutagen.mp3.BitrateMode
:members:
-.. autoclass:: mutagen.mp3.EasyMP3(filename, ID3=None)
+.. autoclass:: mutagen.mp3.EasyMP3
:show-inheritance:
:members:
:exclude-members: ID3
diff --git a/docs/api/mp4.rst b/docs/api/mp4.rst
index c2f25e8..0e45ec5 100644
--- a/docs/api/mp4.rst
+++ b/docs/api/mp4.rst
@@ -6,16 +6,17 @@ MP4
MP4
---
-.. autoclass:: mutagen.mp4.MP4(filename)
+.. autoclass:: mutagen.mp4.MP4
:show-inheritance:
:members:
:exclude-members: MP4Tags
-.. autoclass:: mutagen.mp4.MP4Tags()
+.. autoclass:: mutagen.mp4.MP4Tags
:show-inheritance:
:members:
-.. autoclass:: mutagen.mp4.MP4Info()
+.. autoclass:: mutagen.mp4.MP4Info
+ :show-inheritance:
:members:
.. autoclass:: mutagen.mp4.MP4Cover
@@ -24,9 +25,8 @@ MP4
.. autoclass:: mutagen.mp4.MP4FreeForm
:members:
-.. function:: mutagen.mp4.Open(filename)
-
-.. autofunction:: mutagen.mp4.delete
+.. autoclass:: mutagen.mp4.AtomDataType
+ :members:
EasyMP4
@@ -34,12 +34,12 @@ EasyMP4
.. automodule:: mutagen.easymp4
-.. autoclass:: mutagen.easymp4.EasyMP4(filename)
+.. autoclass:: mutagen.easymp4.EasyMP4
:show-inheritance:
:members:
:exclude-members: MP4Tags
-.. autoclass:: mutagen.easymp4.EasyMP4Tags()
+.. autoclass:: mutagen.easymp4.EasyMP4Tags
:show-inheritance:
:members:
diff --git a/docs/api/musepack.rst b/docs/api/musepack.rst
index 0dca75b..8e56a52 100644
--- a/docs/api/musepack.rst
+++ b/docs/api/musepack.rst
@@ -8,4 +8,5 @@ Musepack
:members:
.. autoclass:: mutagen.musepack.MusepackInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/ogg.rst b/docs/api/ogg.rst
index 8e0b424..2a077e1 100644
--- a/docs/api/ogg.rst
+++ b/docs/api/ogg.rst
@@ -3,10 +3,6 @@ OGG
.. automodule:: mutagen.ogg
-.. autoexception:: mutagen.ogg.error
-
-.. autoclass:: mutagen.ogg.OggFileType(filename)
+.. autoclass:: mutagen.ogg.OggFileType
:show-inheritance:
-
-.. autoclass:: mutagen.ogg.OggPage
:members:
diff --git a/docs/api/oggflac.rst b/docs/api/oggflac.rst
index 8192629..60af03b 100644
--- a/docs/api/oggflac.rst
+++ b/docs/api/oggflac.rst
@@ -3,15 +3,9 @@ Ogg FLAC
.. automodule:: mutagen.oggflac
-.. autoexception:: mutagen.oggflac.error
+.. autoclass:: mutagen.oggflac.OggFLAC
:show-inheritance:
-.. autoexception:: mutagen.oggflac.OggFLACHeaderError
- :show-inheritance:
-
-.. autoclass:: mutagen.oggflac.OggFLAC(filename)
- :show-inheritance:
-
-.. autoclass:: mutagen.oggflac.OggFLACStreamInfo()
+.. autoclass:: mutagen.oggflac.OggFLACStreamInfo
:show-inheritance:
:members:
diff --git a/docs/api/oggopus.rst b/docs/api/oggopus.rst
index 0d9af19..0fb1c1c 100644
--- a/docs/api/oggopus.rst
+++ b/docs/api/oggopus.rst
@@ -3,15 +3,10 @@ Ogg Opus
.. automodule:: mutagen.oggopus
-.. autoexception:: mutagen.oggopus.error
- :show-inheritance:
-
-.. autoexception:: mutagen.oggopus.OggOpusHeaderError
- :show-inheritance:
-
-.. autoclass:: mutagen.oggopus.OggOpus(filename)
+.. autoclass:: mutagen.oggopus.OggOpus
:show-inheritance:
:members:
.. autoclass:: mutagen.oggopus.OggOpusInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/oggspeex.rst b/docs/api/oggspeex.rst
index 57965fb..29d7f2d 100644
--- a/docs/api/oggspeex.rst
+++ b/docs/api/oggspeex.rst
@@ -3,15 +3,10 @@ Ogg Speex
.. automodule:: mutagen.oggspeex
-.. autoexception:: mutagen.oggspeex.error
- :show-inheritance:
-
-.. autoexception:: mutagen.oggspeex.OggSpeexHeaderError
- :show-inheritance:
-
-.. autoclass:: mutagen.oggspeex.OggSpeex(filename)
+.. autoclass:: mutagen.oggspeex.OggSpeex
:show-inheritance:
:members:
.. autoclass:: mutagen.oggspeex.OggSpeexInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/oggtheora.rst b/docs/api/oggtheora.rst
index 8d356cb..8591f2c 100644
--- a/docs/api/oggtheora.rst
+++ b/docs/api/oggtheora.rst
@@ -3,15 +3,10 @@ Ogg Theora
.. automodule:: mutagen.oggtheora
-.. autoexception:: mutagen.oggtheora.error
- :show-inheritance:
-
-.. autoexception:: mutagen.oggtheora.OggTheoraHeaderError
- :show-inheritance:
-
-.. autoclass:: mutagen.oggtheora.OggTheora(filename)
+.. autoclass:: mutagen.oggtheora.OggTheora
:show-inheritance:
:members:
.. autoclass:: mutagen.oggtheora.OggTheoraInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/oggvorbis.rst b/docs/api/oggvorbis.rst
index 769ae10..138b6b6 100644
--- a/docs/api/oggvorbis.rst
+++ b/docs/api/oggvorbis.rst
@@ -3,15 +3,10 @@ Ogg Vorbis
.. automodule:: mutagen.oggvorbis
-.. autoexception:: mutagen.oggvorbis.error
- :show-inheritance:
-
-.. autoexception:: mutagen.oggvorbis.OggVorbisHeaderError
- :show-inheritance:
-
-.. autoclass:: mutagen.oggvorbis.OggVorbis(filename)
+.. autoclass:: mutagen.oggvorbis.OggVorbis
:show-inheritance:
:members:
.. autoclass:: mutagen.oggvorbis.OggVorbisInfo
+ :show-inheritance:
:members:
diff --git a/docs/api/smf.rst b/docs/api/smf.rst
index 6abd86c..351ac36 100644
--- a/docs/api/smf.rst
+++ b/docs/api/smf.rst
@@ -3,9 +3,9 @@ Standard MIDI File
.. automodule:: mutagen.smf
-.. autoclass:: mutagen.smf.SMF(filename)
+.. autoclass:: mutagen.smf.SMF
:show-inheritance:
:members:
-.. autoclass:: mutagen.smf.SMFInfo()
+.. autoclass:: mutagen.smf.SMFInfo
:members:
diff --git a/docs/api/trueaudio.rst b/docs/api/trueaudio.rst
index 04eee19..ea11f93 100644
--- a/docs/api/trueaudio.rst
+++ b/docs/api/trueaudio.rst
@@ -3,14 +3,14 @@ TrueAudio
.. automodule:: mutagen.trueaudio
-.. autoclass:: mutagen.trueaudio.TrueAudio(filename, ID3=None)
+.. autoclass:: mutagen.trueaudio.TrueAudio
:show-inheritance:
:members:
-.. autoclass:: mutagen.trueaudio.TrueAudioInfo()
+.. autoclass:: mutagen.trueaudio.TrueAudioInfo
:members:
-.. autoclass:: mutagen.trueaudio.EasyTrueAudio(filename, ID3=None)
+.. autoclass:: mutagen.trueaudio.EasyTrueAudio
:show-inheritance:
:members:
:exclude-members: ID3
diff --git a/docs/api_notes.rst b/docs/api_notes.rst
deleted file mode 100644
index 3d94897..0000000
--- a/docs/api_notes.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-API Notes
-=========
-
-This file documents deprecated parts of the Mutagen API. New code
-should not use these parts, and several months after being added here,
-they may be removed. Note that we do not intend to ever deprecate or
-remove large portions of the API. All of these are corner cases that
-arose from when Mutagen was still part of Quod Libet, and should never
-be encountered in normal use.
-
-General
--------
-
-FileType constructors require a filename. However, the 'delete' and
-'save' methods should not be called with one.
-
-No modules, types, functions, or attributes beginning with '_' are
-considered public API. These can and do change drastically between
-Mutagen versions. This is the standard Python way of marking a
-function protected or private.
-
-Mutagen's goal is to adhere as closely as possible to published
-specifications. If you try to abuse Mutagen to make it write things in
-a non-standard fashion, Joe will update Mutagen to break your
-program. If you want to do nonstandard things, write your own broken
-library.
-
-FLAC
-----
-
-The 'vc' attribute predates the FileType API and has been deprecated
-since Mutagen 0.9; this also applies to the 'add_vc' method. The
-standard 'tags' attribute and 'add_tags' method should be used
-instead.
-
-ID3
----
-
-None of the Spec objects are considered part of the public API.
-
-APEv2
------
-
-Python 2.5 forced an API change in the APEv2 reading code. Some things
-which were case-insensitive are now case-sensitive. For example,
-given::
-
- tag = APEv2()
- tag["Foo"] = "Bar"
- print "foo" in tag.keys()
-
-Mutagen 1.7.1 and earlier would print "True", as the keys were a str
-subclass that compared case-insensitively. However, Mutagen 1.8 and
-above print "False", as the keys are normal strings.
-
-::
-
- print "foo" in tag
-
-Still prints "True", however, as __getitem__, __delitem__, and
-__setitem__ (and so any operations on the dict itself) remain
-case-insensitive.
-
-As of 1.10.1, Mutagen no longer allows non-ASCII keys in APEv2
-tags. This is in accordance with the APEv2 standard. A KeyError is
-raised if you try.
-
-M4A
----
-
-mutagen.m4a is deprecated. You should use mutagen.mp4 instead.
-
-MP4
----
-
-There is no MPEG-4 iTunes metadata standard. Mutagen's features are
-known to lead to problems in other implementations. For example, FAAD
-will crash when reading a file with multiple "tmpo" atoms. iTunes
-itself is our main compatibility target.
-
-Python 2.6 forced an API change in the MP4 (and M4A) code, by
-introducing the str.format instance method. Previously the cover image
-format was available via the .format attribute; it is now available
-via the .imageformat attribute. On versions of Python prior to 2.6, it
-is also still available as .format.
diff --git a/docs/bugs.rst b/docs/bugs.rst
deleted file mode 100644
index 171ed64..0000000
--- a/docs/bugs.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-Compatibility / Bugs
-====================
-
-Mutagen writes ID3v2.4 tags which id3lib cannot read. If you enable
-ID3v1 tag saving (pass v1=2 to ID3.save), id3lib will read those.
-
-iTunes has a bug in its handling of very large ID3 tags (such as tags
-that contain an attached picture). Mutagen can read tags from iTunes,
-but iTunes may not be able to read tags written by Quod Libet.
-
-Mutagen has had several bugs in correct sync-safe parsing and writing
-of data length flags in ID3 tags. This will only affect files with
-very large or compressed ID3 frames (e.g. APIC). As of 1.10 we believe
-them all to be fixed.
-
-Prior to 1.10.1, Mutagen wrote an incorrect flag for APEv2 tags that
-claimed they did not have footers. This has been fixed, however it
-means that all APEv2 tags written before 1.10.1 are corrupt.
-
-Prior to 1.16, the MP4 cover atom used a .format attribute to indicate
-the image format (JPEG/PNG). Python 2.6 added a str.format method
-which conflicts with this. 1.17 provides .imageformat when running on
-any version, and still provides .format when running on a version
-before 2.6.
-
-Mutagen 1.18 moved EasyID3FileType to mutagen.easyid3, rather than
-mutagen.id3, which was used in 1.17. Keeping in mutagen.id3 caused
-circular import problems. To import EasyID3FileType correctly in 1.17
-and 1.18 or later::
-
- import mutagen.id3
- try:
- from mutagen.easyid3 import EasyID3FileType
- except ImportError:
- # Mutagen 1.17.
- from mutagen.id3 import EasyID3FileType
-
-Mutagen 1.19 made it possible for POPM to have no 'count'
-attribute. Previously, files that generated POPM frames of this type
-would fail to load at all.
-
-When given date frames less than four characters long (which are
-already outside the ID3v2 specification), Mutagen 1.20 and earlier
-would write invalid ID3v1 tags that were too short. Mutagen 1.21 will
-parse these and fix them if it finds them while saving.
diff --git a/docs/conf.py b/docs/conf.py
index 554fab6..f2fc667 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -10,12 +10,20 @@ import mutagen
needs_sphinx = "1.3"
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'ext']
-intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None)}
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.napoleon',
+ 'sphinx.ext.intersphinx',
+ 'ext',
+]
+intersphinx_mapping = {
+ 'python': ('https://docs.python.org/2.7', None),
+ 'python3': ('https://docs.python.org/3.5', None),
+}
source_suffix = '.rst'
master_doc = 'index'
project = 'mutagen'
-copyright = u'2014, Joe Wreschnig, Michael Urman, Lukáš Lalinský, ' \
+copyright = u'2016, Joe Wreschnig, Michael Urman, Lukáš Lalinský, ' \
u'Christoph Reiter, Ben Ockmore & others'
version = mutagen.version_string
release = mutagen.version_string
@@ -28,3 +36,7 @@ autodoc_member_order = "bysource"
default_role = "obj"
html_theme = "sphinx_rtd_theme"
+html_favicon = "images/favicon.ico"
+html_theme_options = {
+ "display_version": False,
+}
diff --git a/docs/contact.rst b/docs/contact.rst
index 25931ca..0942f7d 100644
--- a/docs/contact.rst
+++ b/docs/contact.rst
@@ -6,5 +6,5 @@ For historical and practical reasons, Mutagen shares a `mailing list
(#quodlibet on irc.oftc.net) with Quod Libet.
If you need help using Mutagen or would like to discuss the library, please
-use the mailing list or the `issue tracker
-<https://github.com/quodlibet/mutagen/issues>`_.
+use the IRC channel, our `issue tracker
+<https://github.com/quodlibet/mutagen/issues>`_ or the mailing list.
diff --git a/docs/images/Makefile b/docs/images/Makefile
new file mode 100644
index 0000000..1119d2c
--- /dev/null
+++ b/docs/images/Makefile
@@ -0,0 +1,29 @@
+SOURCE=logo.svg
+DEST=favicon.ico
+ARGS=--export-area 19:-4:209:186 --export-png
+
+all: $(DEST)
+
+favicon-16.png: $(SOURCE)
+ inkscape $(SOURCE) $(ARGS) $@ -w 16 -h 16
+
+favicon-24.png: $(SOURCE)
+ inkscape $(SOURCE) $(ARGS) $@ -w 24 -h 24
+
+favicon-32.png: $(SOURCE)
+ inkscape $(SOURCE) $(ARGS) $@ -w 32 -h 32
+
+favicon-48.png: $(SOURCE)
+ inkscape $(SOURCE) $(ARGS) $@ -w 48 -h 48
+
+favicon-64.png: $(SOURCE)
+ inkscape $(SOURCE) $(ARGS) $@ -w 64 -h 64
+
+$(DEST): favicon-16.png favicon-24.png favicon-32.png favicon-48.png favicon-64.png
+ convert favicon-16.png favicon-24.png favicon-32.png favicon-48.png favicon-64.png $(DEST)
+ rm favicon-16.png favicon-24.png favicon-32.png favicon-48.png favicon-64.png
+
+.PHONY: clean
+
+clean:
+ rm -f favicon-16.png favicon-24.png favicon-32.png favicon-48.png favicon-64.png favicon.ico
diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico
new file mode 100644
index 0000000..30b4a2f
Binary files /dev/null and b/docs/images/favicon.ico differ
diff --git a/docs/images/logo.png b/docs/images/logo.png
deleted file mode 100644
index 3cd74c1..0000000
Binary files a/docs/images/logo.png and /dev/null differ
diff --git a/docs/index.rst b/docs/index.rst
index a14538d..4acb719 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,34 +1,31 @@
-.. image:: images/logo.png
+.. image:: images/logo.svg
:align: center
:width: 400px
.. toctree::
:hidden:
:titlesonly:
- :maxdepth: 2
+ :maxdepth: 3
changelog
- tutorial
+ user/index
api/index
man/index
- api_notes
- bugs
contact
-Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC,
-M4A, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg
-Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG, and AIFF audio files.
-All versions of ID3v2 are supported, and all standard ID3v2.4 frames are
-parsed. It can read Xing headers to accurately calculate the bitrate and
-length of MP3s. ID3 and APEv2 tags can be edited regardless of audio
-format. It can also manipulate Ogg streams on an individual packet/page
-level.
+Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC,
+MP4, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora,
+Ogg Vorbis, True Audio, WavPack, OptimFROG, and AIFF audio files. All
+versions of ID3v2 are supported, and all standard ID3v2.4 frames are parsed.
+It can read Xing headers to accurately calculate the bitrate and length of
+MP3s. ID3 and APEv2 tags can be edited regardless of audio format. It can also
+manipulate Ogg streams on an individual packet/page level.
-Mutagen works on Python 2.6, 2.7, 3.3, 3.4 (CPython and PyPy) and has no
-dependencies outside the Python standard library.
+Mutagen works with Python 2.6, 2.7, 3.3+ (CPython and PyPy) on Linux, Windows
+and macOS, and has no dependencies outside the Python standard library.
There is a :doc:`brief tutorial with several API examples.
-<tutorial>`
+<user/index>`
Installing
@@ -58,9 +55,9 @@ latest version or check out the git repository::
Why Mutagen?
------------
-Quod Libet has more strenuous requirements in a tagging library than most
-programs that deal with tags. Furthermore, most tagging libraries suck.
-Therefore we felt it was necessary to write our own.
+Quod Libet has more strenuous requirements in a tagging library than most
+programs that deal with tags. Therefore we felt it was necessary to write our
+own.
* Mutagen has a simple API, that is roughly the same across all tag formats
and versions and integrates into Python's builtin types and interfaces.
diff --git a/docs/man/mid3v2.rst b/docs/man/mid3v2.rst
index eafa9eb..51ea2ba 100644
--- a/docs/man/mid3v2.rst
+++ b/docs/man/mid3v2.rst
@@ -70,7 +70,7 @@ OPTIONS
--delete-frames=FRAMES
Delete specific ID3v2 frames (or groups of frames) from the files.
- `FRAMES` is a "," separated list of frame names e.g. ``"TPE1,TALB"``
+ ``FRAMES`` is a "," separated list of frame names e.g. ``"TPE1,TALB"``
-C, --convert
Convert ID3v1 tags to ID3v2 tags. This will also happen automatically
@@ -90,6 +90,10 @@ OPTIONS
which case the language defaults to English, and the description to an
... 7933 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/mutagen.git
More information about the Python-modules-commits
mailing list