Files
picard/plugins/discnumber.py
Lukáš Lalinský abdc026857 Added plugin API versioning.
Plugins can now define variables PLUGIN_VERSION, which defines version of the plugin. It is only informative field for the user. PLUGIN_API_VERSIONS is a list of supported Picard versions. The versions doesn't have to match exactly, though. For example API version "0.9.0" will match Picard version "0.9.0alpha11". Use as specific version numbers as needed.
2007-08-05 11:08:24 +02:00

27 lines
940 B
Python

PLUGIN_NAME = 'Disc Numbers'
PLUGIN_AUTHOR = 'Lukas Lalinsky'
PLUGIN_DESCRIPTION = '''Moves disc numbers and subtitles from album titles to separate tags. For example:<br/>
<em>"Aerial (disc 1: A Sea of Honey)"</em>
<ul>
<li>album = <em>"Aerial"</em></li>
<li>discnumber = <em>"1"</em></li>
<li>discsubtitle = <em>"A Sea of Honey"</em></li>
</ul>'''
PLUGIN_VERSION = "0.1"
PLUGIN_API_VERSIONS = ["0.9.0"]
from picard.metadata import register_album_metadata_processor
import re
_discnumber_re = re.compile(r"\s+\(disc (\d+)(?::\s+([^)]+))?\)")
def remove_discnumbers(tagger, metadata, release):
matches = _discnumber_re.search(metadata["album"])
if matches:
metadata["discnumber"] = matches.group(1)
if matches.group(2):
metadata["discsubtitle"] = matches.group(2)
metadata["album"] = _discnumber_re.sub('', metadata["album"])
register_album_metadata_processor(remove_discnumbers)