ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/pymsxml/pymsxml.py
(Generate patch)
# Line 18 | Line 18
18          self.name_ = "PyMsXML"
19          self.majorVer = 0
20          self.minorVer = 5
21 <        self.revVer = 1
21 >        self.revVer = 2
22      def version(self):
23          return "%d.%d.%d"%(self.majorVer,self.minorVer,self.revVer)
24      def name(self):
# Line 1160 | Line 1160
1160              self.context = ':msRun'
1161          elif name == 'scanOrigin':
1162              self.scanmd['scanOrigin'] = attrs
1163 +        elif self.context.endswith(':scan:nameValue'):
1164 +            self.scanmd['nameValue.%s:%%s'%attrs['name']] = attrs['value']
1165              
1166      def characters(self, content):
1167          if self.scancount >= self.scanstart:
# Line 1171 | Line 1173
1173          if self.scancount >= self.scanstart:
1174              if self.context.endswith('scan:peaks'):
1175                  
1176 <                spec = array('f')
1176 >                self.spec = array('f')
1177                  # print >>sys.stderr, len(self.content), len(b64decode(self.content)), self.content
1178 <                spec.fromstring(b64decode(self.content))
1178 >                self.spec.fromstring(b64decode(self.content))
1179                  if sys.byteorder != 'big':
1180 <                    spec.byteswap()
1180 >                    self.spec.byteswap()
1181 >            elif self.context.endswith(':scan'):
1182                  d = {'msLevel':self.scanlevel}
1183                  # Optional ('scan.' and prefixformat spec. needed)
1184                  if hasattr(self,'rt'):
# Line 1190 | Line 1193
1193                      d.update({'precursorMz':self.precursorMz})
1194                  if self.scanmd.has_key('scanOrigin'):
1195                      d.update({'scanOrigin.parentFileID:%s': self.scanmd['scanOrigin']['parentFileID'],
1196 <                              'scanOrigin.num:%d': self.scanmd['scanOrigin']['num']})
1196 >                              'scanOrigin.num:%d': int(self.scanmd['scanOrigin']['num'])})
1197                  for (k,v) in self.scanmd.items():
1198                      if not d.has_key(k):
1199                          d[k] = v
1200 <                self.spectra.append((spec,d))
1200 >                self.spectra.append((self.spec,d))
1201                  if len(self.spectra) >= self.scanmax:
1202                      self.scanstart = self.scancount+1
1203                      raise SAXException("Early termination")

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines