diff --git a/picard/formats/asf.py b/picard/formats/asf.py index abd7e0e58..2c87e89d1 100644 --- a/picard/formats/asf.py +++ b/picard/formats/asf.py @@ -192,8 +192,8 @@ class ASFFile(File): cover = [] for image in metadata.images_to_be_saved_to_tags: tag_data = pack_image(image.mimetype, image.data, - image_type_as_id3_num(image.maintype), - image.comment) + image_type_as_id3_num(image.maintype), + image.comment) cover.append(ASFByteArrayAttribute(tag_data)) if cover: file.tags['WM/Picture'] = cover @@ -213,11 +213,9 @@ class ASFFile(File): for tag in metadata.deleted_tags: real_name = self._get_tag_name(tag) if real_name and real_name in file.tags: - if tag == 'totaldiscs': - try: - file.tags[real_name] = map(unicode, metadata['discnumber']) - except: - pass + if tag in ('totaldiscs', 'totaltracks'): + metadata_name = tag[5:-1] + file.tags[real_name] = map(unicode, metadata[metadata_name]) else: del file.tags[real_name] @@ -232,5 +230,7 @@ class ASFFile(File): return 'lyrics' elif name == 'totaldiscs': return self.__TRANS['discnumber'] + elif name == 'totaltracks': + return self.__TRANS['tracknumber'] else: return self.__TRANS[name] diff --git a/picard/formats/vorbis.py b/picard/formats/vorbis.py index d91e1ba00..6993ac212 100644 --- a/picard/formats/vorbis.py +++ b/picard/formats/vorbis.py @@ -220,6 +220,8 @@ class VCommentFile(File): if re.search(tag_type, item): file.tags.get(real_name).remove(item) else: + if tag in ('totaldiscs', 'totaltracks'): + del file.tags[tag] del file.tags[real_name] kwargs = {} @@ -244,6 +246,10 @@ class VCommentFile(File): return name.split(':', 1)[0] elif name == 'musicip_fingerprint': return 'fingerprint' + elif name == 'totaltracks': + return 'tracktotal' + elif name == 'totaldiscs': + return 'disctotal' elif name in self.__rtranslate: return self.__rtranslate[name] else: