From d2327d2dcff86b8a38ddd93d5272c24347ca968a Mon Sep 17 00:00:00 2001 From: Rowan Lewis Date: Sat, 14 Sep 2013 07:27:15 +1000 Subject: [PATCH] Fixed validation, basically replace unfriendly errors with friendly errors. --- beetsplug/convert.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/beetsplug/convert.py b/beetsplug/convert.py index 083dc2cdf..af942aabb 100644 --- a/beetsplug/convert.py +++ b/beetsplug/convert.py @@ -93,16 +93,28 @@ def validate_config(): """Validate the format configuration, make sure all of the required values are set for the current format. """ format = config['convert']['format'].get(unicode) - formats = config['convert']['formats'].get() + formats = config['convert']['formats'] - if format not in formats: - raise ui.UserError(u'specified format {0} not configured in formats'.format(format)) + try: + formats[format].get() + except: + raise ui.UserError( + 'Format {0} does not appear to exist, please check your convert plugin configuration.'.format(format) + ) - if 'command' not in formats[format]: - raise ui.UserError(u'specified format {0} does not have a command defined'.format(format)) + try: + formats[format]['command'].get(unicode) + except: + raise ui.UserError( + 'Format {0} does not define a command, please check your convert plugin configuration.'.format(format) + ) - if 'extension' not in formats[format]: - raise ui.UserError(u'specified format {0} does not have a file extension defined'.format(format)) + try: + formats[format]['extension'].get(unicode) + except: + raise ui.UserError( + 'Format {0} does not define a file extension, please check your convert plugin configuration.'.format(format) + ) def should_transcode(item):