Don't call bs1770gain outside of try statement

This commit is contained in:
ybnd 2020-01-30 16:37:56 +01:00
parent 53820c0a98
commit c78afb1a97
2 changed files with 9 additions and 6 deletions

View file

@ -136,11 +136,6 @@ class Bs1770gainBackend(Backend):
-18: "replaygain",
}
version = re.search(
'bs1770gain ([0-9]+.[0-9]+.[0-9]+), ',
call(['bs1770gain', '--version']).stdout.decode('utf-8')
).group(1)
def __init__(self, config, log):
super(Bs1770gainBackend, self).__init__(config, log)
config.add({
@ -155,6 +150,13 @@ class Bs1770gainBackend(Backend):
try:
call([cmd, "--help"])
self.command = cmd
try:
self.version = re.search(
'([0-9]+.[0-9]+.[0-9]+), ',
call([cmd, '--version']).stdout.decode('utf-8')
).group(1)
except AttributeError:
self.version = '0.0.0'
except OSError:
raise FatalReplayGainError(
u'Is bs1770gain installed?'

View file

@ -40,7 +40,7 @@ if any(has_program(cmd, ['-v']) for cmd in ['mp3gain', 'aacgain']):
else:
GAIN_PROG_AVAILABLE = False
if has_program('bs1770gain'):
if has_program('bs1770gain', ['--replaygain']):
LOUDNESS_PROG_AVAILABLE = True
else:
LOUDNESS_PROG_AVAILABLE = False
@ -58,6 +58,7 @@ def reset_replaygain(item):
class ReplayGainCliTestBase(TestHelper):
def setUp(self):
self.setup_beets()
self.config['replaygain']['backend'] = self.backend