def __setattr__(self, attr, value): if attr not in self._default_state: return QObject.__setattr__(self, attr, value) if attr == 'playState': if value in ('play', 'stop'): self.mpdclient.send(value) elif value == 'pause': self.mpdclient.send(value, (1,)) else: raise AttributeError('playState can only be set to "play", "pause" of "stop". Got %s instead.' % value) elif attr == 'progress': self.mpdclient.send('seekid', (self.playQueue.playing, value)) else: if attr == 'xFade': attr = 'crossfade' elif attr == 'volume': attr = 'setvol' self._setState('volume', value) elif attr in ('random', 'repeat', 'single', 'consume'): value = int(value) self.mpdclient.send(attr, (value,))