# -*- coding: utf-8 -*- PLUGIN_NAME = 'Convert typographic punctuation' PLUGIN_AUTHOR = '' # anonymous by author's request PLUGIN_DESCRIPTION = 'Converts all typographic punctuation to the equivalent Latin-1 characters, for easier searches' PLUGIN_VERSION = "0.1.3" PLUGIN_API_VERSIONS = ["0.9", "0.10", "0.11", "0.12"] from picard.metadata import register_track_metadata_processor from picard.metadata import register_album_metadata_processor def searchreplace_track(tagger, metadata, release, track): metadata["title"] = searchreplace(metadata["title"]) metadata["artist"] = searchreplace(metadata["artist"]) def searchreplace_album(tagger, metadata, release): metadata["album"] = searchreplace(metadata["album"]) metadata["albumartist"] = searchreplace(metadata["albumartist"]) metadata["artist"] = searchreplace(metadata["artist"]) def searchreplace(str): mapping = { u"…": u"...", u"‘": u"'", u"’": u"'", u"‚": u"'", u"“": u"\"", u"”": u"\"", u"„": u"\"", u"′": u"'", u"″": u"\"", u"‹": u"<", u"›": u">", } for i, j in mapping.iteritems(): str = str.replace(i, j) return str register_track_metadata_processor(searchreplace_track) register_album_metadata_processor(searchreplace_album)