def __setitem__(self, item, value): """Can currently set the state of mouse buttons as well as the mouse position. Supports iterable arguments""" ak = self._getButtons().keys() + [self.Pos] if isiterable(item) and isiterable(value): isfalse = lambda x: True if not x in ak else False for i in map(isfalse, item): if i: raise MouseException('One of the items is not valid. Items:', item) if len(item) != len(value): raise MouseException('Not enough values for items') for i, v in dict(zip(item, value)).iteritems(): if i == self.Pos: self._setMousePos(v) elif i in self._getButtons().keys(): self._setMouseButtonState(self._buttonToInt(i), \ 1 if v else 0) return else: if item in ak: if item == self.Pos: self._setMousePos(value) elif item in self._getButtons().keys(): self._setMouseButtonState(self._buttonToInt(item), \ 1 if value else 0) return else: raise MouseException('Invalid item / value') raise MouseException('FIXME')
def __setitem__(self, item, value): """Can currently set the state of mouse buttons as well as the mouse position. Supports iterable arguments""" ak = self._getButtons().keys() + [self.Pos] if isiterable(item) and isiterable(value): isfalse = lambda x: True if not x in ak else False for i in map(isfalse, item): if i: raise MouseException( 'One of the items is not valid. Items:', item) if len(item) != len(value): raise MouseException('Not enough values for items') for i, v in dict(zip(item, value)).iteritems(): if i == self.Pos: self._setMousePos(v) elif i in self._getButtons().keys(): self._setMouseButtonState(self._buttonToInt(i), \ 1 if v else 0) return else: if item in ak: if item == self.Pos: self._setMousePos(value) elif item in self._getButtons().keys(): self._setMouseButtonState(self._buttonToInt(item), \ 1 if value else 0) return else: raise MouseException('Invalid item / value') raise MouseException('FIXME')
def __getitem__(self, item): """Can currently return the state of mouse buttons as well as the mouse position. Supports iterable arguments""" if isiterable(item): res = [] for i in item: if i == self.Pos: res.append(self._getMousePos()) elif i in self._getButtons().keys(): res.append(self._getMouseButtonState(self._buttonToInt(i))) else: raise MouseException('Invalid mouse button') return res else: if item == self.Pos: return self._getMousePos() if item in self._getButtons().keys(): return self._getMouseButtonState(self_buttonToInt(item)) raise MouseException('item is not iterable nor a (valid) string')