From f13b2dff2a7339584281b2689ee376eb1230ea0f Mon Sep 17 00:00:00 2001 From: Thomas Scholtes Date: Sat, 1 Feb 2014 01:40:26 +0100 Subject: [PATCH] Serialize after packing --- beets/mediafile.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/beets/mediafile.py b/beets/mediafile.py index 28b83e075..3c707b64a 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -294,6 +294,9 @@ class StorageStyle(object): self.suffix = suffix self.float_places = float_places + if self.packing == packing_type.TUPLE: + self.as_type = 3 + if self.packing == packing_type.DATE: self.packing_length = 3 else: @@ -352,18 +355,10 @@ class StorageStyle(object): return list(items) + [None]*(self.packing_length - len(items)) - def store(self, mediafile, val): - """Store val for this descriptor's field in the tag dictionary - according to the provided StorageStyle. Store it as a - single-item list if necessary. - """ - # Wrap as a list if necessary. + def store(self, mediafile, value): if self.list_elem: - out = [val] - else: - out = val - - mediafile.mgfile[self.key] = out + value = [value] + mediafile.mgfile[self.key] = value def set(self, mediafile, value): if value is None: @@ -372,8 +367,8 @@ class StorageStyle(object): if self.packing: data = self.fetch(mediafile) value = self.pack(data, value) - else: - value = self.serialize(value) + + value = self.serialize(value) self.store(mediafile, value) def pack(self, data, value):