[Python-modules-commits] [mutagen] 01/08: Import mutagen_1.34.1.orig.tar.gz

Tristan Seligmann mithrandi at moszumanska.debian.org
Sun Aug 28 23:22:38 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 d905cbef7fd30162f83506cdd3dfe5177b4df9f1
Author: Tristan Seligmann <mithrandi at debian.org>
Date:   Mon Aug 29 01:03:37 2016 +0200

    Import mutagen_1.34.1.orig.tar.gz
---
 NEWS                     |  9 +++++++++
 PKG-INFO                 |  2 +-
 mutagen/__init__.py      |  2 +-
 mutagen/id3/__init__.py  | 11 ++++++++++-
 mutagen/id3/_specs.py    |  6 +++---
 tests/test__id3frames.py | 20 ++++++++++++++++++++
 6 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index f4509d6..6f1c44b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+1.34.1 - 2016.08.13
+-------------------
+
+* ID3: Expose some internals again to make Picard (mostly) work again.
+
+  * http://tickets.musicbrainz.org/browse/PICARD-833
+  * https://github.com/metabrainz/picard/pull/479
+
+
 1.34 - 2016.07.20
 -----------------
 
diff --git a/PKG-INFO b/PKG-INFO
index f925560..fb7bc61 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: mutagen
-Version: 1.34
+Version: 1.34.1
 Summary: read and write audio tags for many formats
 Home-page: https://github.com/quodlibet/mutagen
 Author: Michael Urman
diff --git a/mutagen/__init__.py b/mutagen/__init__.py
index a3f6889..824952e 100644
--- a/mutagen/__init__.py
+++ b/mutagen/__init__.py
@@ -24,7 +24,7 @@ from mutagen._util import MutagenError
 from mutagen._file import FileType, StreamInfo, File
 from mutagen._tags import Tags, Metadata, PaddingInfo
 
-version = (1, 34)
+version = (1, 34, 1)
 """Version tuple."""
 
 version_string = ".".join(map(str, version))
diff --git a/mutagen/id3/__init__.py b/mutagen/id3/__init__.py
index d61ef11..22896d7 100644
--- a/mutagen/id3/__init__.py
+++ b/mutagen/id3/__init__.py
@@ -41,7 +41,8 @@ from ._tags import ID3Tags
 
 # deprecated
 from ._util import ID3EncryptionUnsupportedError, ID3JunkFrameError, \
-    ID3BadUnsynchData, ID3BadCompressedData, ID3TagError, ID3Warning
+    ID3BadUnsynchData, ID3BadCompressedData, ID3TagError, ID3Warning, \
+    BitPaddedInt as _BitPaddedIntForPicard
 
 
 for f in Frames:
@@ -62,4 +63,12 @@ ID3JunkFrameError, ID3BadUnsynchData, ID3BadCompressedData, ID3TagError,
 ID3Warning
 
 
+# Workaround for http://tickets.musicbrainz.org/browse/PICARD-833
+class _DummySpecForPicard(object):
+    write = None
+
+EncodedTextSpec = MultiSpec = _DummySpecForPicard
+BitPaddedInt = _BitPaddedIntForPicard
+
+
 __all__ = ['ID3', 'ID3FileType', 'Frames', 'Open', 'delete']
diff --git a/mutagen/id3/_specs.py b/mutagen/id3/_specs.py
index e29f0ba..7f36396 100644
--- a/mutagen/id3/_specs.py
+++ b/mutagen/id3/_specs.py
@@ -814,7 +814,7 @@ class KeyEventSpec(Spec):
         return b"".join(struct.pack(">bI", *event) for event in value)
 
     def validate(self, frame, value):
-        return value
+        return list(value)
 
 
 class VolumeAdjustmentsSpec(Spec):
@@ -836,7 +836,7 @@ class VolumeAdjustmentsSpec(Spec):
                         for (freq, adj) in value)
 
     def validate(self, frame, value):
-        return value
+        return list(value)
 
 
 class ASPIIndexSpec(Spec):
@@ -871,4 +871,4 @@ class ASPIIndexSpec(Spec):
             raise SpecError(e)
 
     def validate(self, frame, values):
-        return values
+        return list(values)
diff --git a/tests/test__id3frames.py b/tests/test__id3frames.py
index faf1756..245e6ef 100644
--- a/tests/test__id3frames.py
+++ b/tests/test__id3frames.py
@@ -547,6 +547,11 @@ class TETCO(TestCase):
         self.assertEqual(frame.format, 1)
         self.assertEqual(frame.events, [])
 
+    def test_default_mutable(self):
+        frame = ETCO()
+        frame.events.append(1)
+        self.assertEqual(ETCO().events, [])
+
 
 class TSYTC(TestCase):
 
@@ -882,6 +887,11 @@ class TEQU2(TestCase):
         self.assertEqual(frame.desc, u"")
         self.assertEqual(frame.adjustments, [])
 
+    def test_default_mutable(self):
+        frame = EQU2()
+        frame.adjustments.append(1)
+        self.assertEqual(EQU2(), [])
+
     def test_hash(self):
         frame = EQU2(method=42, desc="d", adjustments=[(0, 0)])
         self.assertEqual(frame.HashKey, "EQU2:d")
@@ -1439,6 +1449,11 @@ class TTextFrame(TestCase):
     def test_defaults(self):
         self.assertEqual(TextFrame(), TextFrame(encoding=1, text=[]))
 
+    def test_default_default_mutable(self):
+        frame = TextFrame()
+        frame.text.append("foo")
+        self.assertEqual(TextFrame().text, [])
+
     def test_main(self):
         self.assertEqual(TextFrame(text='text').text, ["text"])
         self.assertEqual(TextFrame(text=['a', 'b']).text, ["a", "b"])
@@ -1557,6 +1572,11 @@ class TASPI(TestCase):
         self.assertEqual(frame.b, 0)
         self.assertEqual(frame.Fi, [])
 
+    def test_default_default_mutable(self):
+        frame = ASPI()
+        frame.Fi.append(1)
+        self.assertEqual(ASPI().Fi, [])
+
 
 class TCHAP(TestCase):
 

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