def set(self,value): if not value: value = 0 if isstring(value): value = value.replace(',','.') if float(value) == value: return unicode(float(value)) else: return unicode(value)
def set(self,value): node = obj.getNode(self.xpath,createIfMissing=True) format = self.cellSetFormats.get(type(value),'String') if not isstring(format): value,format = format(value) obj._interfaceCluster.setNodeText(node,value,recursive=True) node.setAttributeNS(None,self.cellTypeAttribute, format)
def setValue(self,value,node=None): format = self.cellSetFormats.get(type(value),'String') if not isstring(format): value,format = format(value) self.setText(value,node) self.dataType = format
def __delitem__(self,key): if isstring(key): key = self.element._interfaceCluster.cord2pos(key)[2] for i,node in self.NodeItemIterator(self): if i == key: node.parentNode.removeChild(node) elif i > key: if node.hasAttributeNS(self.keyNS,self.keyAttrName): node.setAttributeNS(None,self.keyAttribute,self.element._interfaceCluster.stringFilter(i-1))
def __getitem__(self,key): if isstring(key): key = self.element._interfaceCluster.cord2pos(key) if isiterable(key) and len(key) > 0: o = self for k in key: if k: if o == self: o = SequenceInterface.__getitem__(self,k) else: o = o[k] return o else: return SequenceInterface.__getitem__(self,key)
def insert(self,key,value): if isstring(key): key = self.element._interfaceCluster.cord2pos(key)[2] value._node.setAttributeNS(None,self.keyAttribute,self.element._interfaceCluster.stringFilter(key)) inserted = 0 for i,node in self.NodeItemIterator(self): if i >= key: if node.hasAttributeNS(self.keyNS,self.keyAttrName): node.setAttributeNS(None,self.keyAttribute,self.element._interfaceCluster.stringFilter(i+1)) if not inserted: node.parentNode.insertBefore(value._node,node) inserted = 1 if not inserted: SequenceInterface.append(self,value)
def __setitem__(self,key,value): if isstring(key): key = self.element._interfaceCluster.cord2pos(key)[2] value._node.setAttributeNS(None,self.keyAttribute,self.element._interfaceCluster.stringFilter(key)) if not isinstance(value,ExcelElement): raise TypeError(value) for i,node in self.NodeItemIterator(self): if i == key: node.parentNode.insertBefore(value._node,node) node.parentNode.removeChild(node) return node if i > key: node.parentNode.insertBefore(value._node,node) return None self.append(value)
def extend(self,iterable): trycemi = True try: newlist = [] for row in iterable: if isinstance(row,list): newlist.append(list(row)) elif isstring(row): data = row.split('\t') if len(data) > 1: trycemi = False newlist.append(data) if trycemi: for i in street(newlist): newlist[i] = newlist[i][0].split(';') list.extend(self,newlist) except TypeError: raise TypeError('Argument must be iterable')