Exemple #1
0
 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)
Exemple #2
0
 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)
Exemple #3
0
 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
Exemple #4
0
 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))
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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')