Managing optional arguments properly on _exec

This commit is contained in:
Fabio Manganiello 2019-02-13 23:50:40 +01:00
parent 6ac62b0161
commit 1103e417e1

View file

@ -43,7 +43,8 @@ class MusicMpdPlugin(MusicPlugin):
self.client.connect(self.host, self.port)
return self.client
def _exec(self, method, n_tries=2, *args, **kwargs):
def _exec(self, method, *args, **kwargs):
n_tries = int(kwargs.pop('n_tries')) if 'n_tries' in kwargs else 1
return_status = kwargs.pop('return_status') \
if 'return_status' in kwargs else True
@ -62,8 +63,9 @@ class MusicMpdPlugin(MusicPlugin):
self.client = None
if n_tries > 0:
return self._exec(method, n_tries=n_tries-1,
return_status=return_status, *args, **kwargs)
kwargs['return_status'] = return_status
kwargs['n_tries'] = n_tries-1
return self._exec(method, *args, **kwargs)
else:
return (None, str(e))