"pluginpath" config value

This commit is contained in:
Adrian Sampson 2010-07-22 17:09:47 -07:00
parent 7e56cd199d
commit e591063e82
2 changed files with 10 additions and 4 deletions

9
NEWS
View file

@ -11,10 +11,11 @@
beets command-line interface. The "bpd" and "dadd" commands were
removed from the beets core and turned into plugins; BPD is loaded
by default. To load the non-default plugins, use the "plugins" config
value (a space-separated list of plugin names). Plugins are just
Python modules under the "beetsplug" namespace package containing
subclasses of beets.plugins.BeetsPlugin. See the "beetsplug" directory
for examples.
value (a space-separated list of plugin names). You can also set the
"pluginpath" config option to a colon-separated list of directories
to search for plugins. Plugins are just Python modules under the
"beetsplug" namespace package containing subclasses of
beets.plugins.BeetsPlugin. See the "beetsplug" directory for examples.
* Support for MusicBrainz ID tags. The autotagger now keeps track of the
MusicBrainz track, album, and artist IDs it matched for each file. It
also looks for album IDs in new files it's importing and uses those to

View file

@ -22,6 +22,7 @@ import locale
import optparse
import textwrap
import ConfigParser
import sys
from beets import library
from beets import plugins
@ -345,6 +346,10 @@ def main():
config = ConfigParser.SafeConfigParser()
config.read(CONFIG_FILE)
# Add plugin paths.
plugpaths = config_val(config, 'beets', 'pluginpath', '')
for plugpath in plugpaths.split(':'):
sys.path.append(os.path.expanduser(plugpath))
# Load requested plugins.
plugnames = config_val(config, 'beets', 'plugins', '')
plugins.load_plugins(plugnames.split())