use Confit's as_str_seq() instead of get(list)

This validator lets the user write either a real list, like [a, b, c], or just
a whitespace-separated string, like a b c. This is a little nicer for some
settings like "plugins" where the brackets and commas just look like line
noise.
This commit is contained in:
Adrian Sampson 2012-12-20 17:03:51 -08:00
parent 2451571dbe
commit a23b685747
6 changed files with 16 additions and 16 deletions

View file

@ -48,7 +48,7 @@ def albums_in_dir(path):
collapse_items = None collapse_items = None
for root, dirs, files in sorted_walk(path, for root, dirs, files in sorted_walk(path,
ignore=config['ignore'].get(list)): ignore=config['ignore'].as_str_seq()):
# Get a list of items in the directory. # Get a list of items in the directory.
items = [] items = []
for filename in files: for filename in files:

View file

@ -619,10 +619,10 @@ def _raw_main(args, load_config=True):
from beets.ui.commands import default_commands from beets.ui.commands import default_commands
# Add plugin paths. # Add plugin paths.
for plugpath in config['pluginpath'].get(list): for plugpath in config['pluginpath'].as_str_seq():
sys.path.append(os.path.expanduser(plugpath)) sys.path.append(os.path.expanduser(plugpath))
# Load requested plugins. # Load requested plugins.
plugins.load_plugins(config['plugins'].get(list)) plugins.load_plugins(config['plugins'].as_str_seq())
plugins.send("pluginload") plugins.send("pluginload")
# Construct the root parser. # Construct the root parser.

View file

@ -94,7 +94,7 @@ class IHatePlugin(BeetsPlugin):
def job_to_do(self): def job_to_do(self):
"""Return True if at least one pattern is defined.""" """Return True if at least one pattern is defined."""
return any(self.config[l].get(list) for l in return any(self.config[l].as_str_seq() for l in
('warn_genre', 'warn_artist', 'warn_album', ('warn_genre', 'warn_artist', 'warn_album',
'skip_genre', 'skip_artist', 'skip_album')) 'skip_genre', 'skip_artist', 'skip_album'))
@ -103,19 +103,19 @@ class IHatePlugin(BeetsPlugin):
if self.job_to_do(): if self.job_to_do():
self._log.debug('[ihate] processing your hate') self._log.debug('[ihate] processing your hate')
if self.do_i_hate_this(task, if self.do_i_hate_this(task,
self.config['skip_genre'].get(list), self.config['skip_genre'].as_str_seq(),
self.config['skip_artist'].get(list), self.config['skip_artist'].as_str_seq(),
self.config['skip_album'].get(list), self.config['skip_album'].as_str_seq(),
self.config['skip_whitelist'].get(list)): self.config['skip_whitelist'].as_str_seq()):
task.choice_flag = action.SKIP task.choice_flag = action.SKIP
self._log.info(u'[ihate] skipped: {0} - {1}' self._log.info(u'[ihate] skipped: {0} - {1}'
.format(task.cur_artist, task.cur_album)) .format(task.cur_artist, task.cur_album))
return return
if self.do_i_hate_this(task, if self.do_i_hate_this(task,
self.config['warn_genre'].get(list), self.config['warn_genre'].as_str_seq(),
self.config['warn_artist'].get(list), self.config['warn_artist'].as_str_seq(),
self.config['warn_album'].get(list), self.config['warn_album'].as_str_seq(),
self.config['warn_whitelist'].get(list)): self.config['warn_whitelist'].as_str_seq()):
self._log.info(u'[ihate] you maybe hate this: {0} - {1}' self._log.info(u'[ihate] you maybe hate this: {0} - {1}'
.format(task.cur_artist, task.cur_album)) .format(task.cur_artist, task.cur_album))
else: else:

View file

@ -77,7 +77,7 @@ def _record_items(lib, basename, items):
"""Records relative paths to the given items for each feed format """Records relative paths to the given items for each feed format
""" """
feedsdir = config['importfeeds']['dir'].as_filename() feedsdir = config['importfeeds']['dir'].as_filename()
formats = config['importfeeds']['formats'].get(list) formats = config['importfeeds']['formats'].as_str_seq()
paths = [] paths = []
for item in items: for item in items:

View file

@ -53,7 +53,7 @@ class ThePlugin(BeetsPlugin):
'patterns': [], 'patterns': [],
}) })
self.patterns = self.config['patterns'].get(list) self.patterns = self.config['patterns'].as_str_seq()
for p in self.patterns: for p in self.patterns:
if p: if p:
try: try:

View file

@ -47,13 +47,13 @@ class ZeroPlugin(BeetsPlugin):
self.patterns = {} self.patterns = {}
self.warned = False self.warned = False
for f in self.config['fields'].get(list): for f in self.config['fields'].as_str_seq():
if f not in ITEM_KEYS: if f not in ITEM_KEYS:
self._log.error(u'[zero] invalid field: {0}'.format(f)) self._log.error(u'[zero] invalid field: {0}'.format(f))
else: else:
self.fields.append(f) self.fields.append(f)
try: try:
self.patterns[f] = self.config[f].get(list) self.patterns[f] = self.config[f].as_str_seq()
except confit.NotFoundError: except confit.NotFoundError:
self.patterns[f] = [u''] self.patterns[f] = [u'']