Fix packaging

This commit is contained in:
Thomas Scholtes 2014-02-01 00:52:56 +01:00
parent 658f4cb7bf
commit 0411f818af
2 changed files with 36 additions and 25 deletions

View file

@ -398,7 +398,7 @@ class StorageStyle(object):
items[self.pack_pos] = value
if not self.packing in [packing.SC, packing.TUPLE]:
if self.packing == packing.DATE:
# Truncate the items wherever we reach an invalid (none)
# entry. This prevents dates like 2008-00-05.
for i, item in enumerate(items):
@ -421,7 +421,6 @@ class StorageStyle(object):
return data
def serialize(self, out):
"""Convert value to a type that is suitable for storing in a tag
"""

View file

@ -213,6 +213,37 @@ class ReadWriteTestBase(object):
self.assertEqual(mediafile.original_month, 0)
self.assertEqual(mediafile.original_day, 0)
def test_write_packed(self):
mediafile = self._mediafile_fixture('empty')
mediafile.tracktotal = 2
mediafile.track = 1
mediafile.save()
mediafile = MediaFile(mediafile.path)
self.assertEqual(mediafile.track, 1)
self.assertEqual(mediafile.tracktotal, 2)
def test_write_counters_without_total(self):
mediafile = self._mediafile_fixture('full')
self.assertEqual(mediafile.track, 2)
self.assertEqual(mediafile.tracktotal, 3)
self.assertEqual(mediafile.disc, 4)
self.assertEqual(mediafile.disctotal, 5)
mediafile.track = 10
mediafile.tracktotal = None
mediafile.disc = 10
mediafile.disctotal = None
mediafile.save()
mediafile = MediaFile(mediafile.path)
self.assertEqual(mediafile.track, 10)
self.assertEqual(mediafile.tracktotal, 0)
self.assertEqual(mediafile.disc, 10)
self.assertEqual(mediafile.disctotal, 0)
def assertTags(self, mediafile, tags):
__unittest = True
errors = []
@ -266,7 +297,7 @@ class ReadWriteTestBase(object):
return tags
class WithoutTotalTestMixin(object):
class PartialTestMixin(object):
tags_without_total = {
'track': 2,
'tracktotal': 0,
@ -281,27 +312,8 @@ class WithoutTotalTestMixin(object):
self.assertEqual(mediafile.disc, 4)
self.assertEqual(mediafile.disctotal, 0)
def test_write_track_without_total(self):
mediafile = self._mediafile_fixture('full')
self.assertEqual(mediafile.track, 2)
self.assertEqual(mediafile.tracktotal, 3)
self.assertEqual(mediafile.disc, 4)
self.assertEqual(mediafile.disctotal, 5)
mediafile.track = 10
mediafile.tracktotal = None
mediafile.disc = 10
mediafile.disctotal = None
mediafile.save()
mediafile = MediaFile(mediafile.path)
self.assertEqual(mediafile.track, 10)
self.assertEqual(mediafile.tracktotal, 0)
self.assertEqual(mediafile.disc, 10)
self.assertEqual(mediafile.disctotal, 0)
class MP3Test(ReadWriteTestBase, WithoutTotalTestMixin, unittest.TestCase):
class MP3Test(ReadWriteTestBase, PartialTestMixin, unittest.TestCase):
extension = 'mp3'
audio_properties = {
'length': 1.0,
@ -311,7 +323,7 @@ class MP3Test(ReadWriteTestBase, WithoutTotalTestMixin, unittest.TestCase):
'bitdepth': 0,
'channels': 1,
}
class MP4Test(ReadWriteTestBase, WithoutTotalTestMixin, unittest.TestCase):
class MP4Test(ReadWriteTestBase, PartialTestMixin, unittest.TestCase):
extension = 'm4a'
audio_properties = {
'length': 1.0,
@ -361,7 +373,7 @@ class OggTest(ReadWriteTestBase, unittest.TestCase):
'bitdepth': 0,
'channels': 1,
}
class FlacTest(ReadWriteTestBase, WithoutTotalTestMixin, unittest.TestCase):
class FlacTest(ReadWriteTestBase, PartialTestMixin, unittest.TestCase):
extension = 'flac'
audio_properties = {
'length': 1.0,