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