class DBUSItem: def __init__(self, name, text='', style='', icon='', iconStyle='', onClick='', box=''): self.name = name self.text = text self.style= style self.icon = icon self.iconStyle = iconStyle self.onClick = onClick self.box = box self._checkValues() def _checkValues(self): if self.onClick and not self.onClick in ('signal', 'delete'): raise ValueError('Invalid onClick value') if self.box and not self.box in ('left', 'center', 'right'): raise ValueError('Invalid box value') def toMap(self): myMap = {"name":self.name} for p in ('text', 'style', 'icon', 'box'): if self.__dict__[p]: myMap[p] = self.__dict__[p] if self.iconStyle: myMap['icon-style'] = self.iconStyle if self.onClick: myMap['on-click'] = self.onClick return [myMap]