ca711e009dba6d7d6535e23a500a236f0c1209f8
mmaddren
  Tue Apr 26 15:51:11 2011 -0700
new version of RaFile
diff --git python/ucscgenomics/rafile/RaFile.py python/ucscgenomics/rafile/RaFile.py
index 784e457..a3c53d2 100644
--- python/ucscgenomics/rafile/RaFile.py
+++ python/ucscgenomics/rafile/RaFile.py
@@ -16,58 +16,58 @@
         """
         Reads an rafile stanza by stanza, and internalizes it.
         """
 
         file = open(filePath, 'r')
 
         #entry = self.__entryType()
         stanza = list()
         keyValue = ''
 
         for line in file:
  
             line = line.strip()
 
             if len(stanza) == 0 and (line.startswith('#') or line == ''):
-                self._OrderedDict__ordering.append(line)
+                OrderedDict.append(self, line)
                 continue
 
             if line != '':
                 stanza.append(line)
             elif len(stanza) > 0:
                if keyValue == '':
                    keyValue, name, entry = self.readStanza(stanza)
                else:
                    testKey, name, entry = self.readStanza(stanza)
                    if keyValue != testKey:
                        raise KeyError('Inconsistent Key ' + testKey)
        
                if name in self:
                    raise KeyError('Duplicate Key ' + name)
 
                self[name] = entry
                #entry = self.__entryType()
                stanza = list()
 
         if len(stanza) > 0:
             raise IOError('File is not newline terminated')
 
         file.close()
 
    
     def readStanza(self, stanza):
-        entry = RaEntry()
+        entry = RaStanza()
         val1, val2 = entry.readStanza(stanza)
         return val1, val2, entry
 
 
     def iter(self):
         pass
 
 
     def iterkeys(self):
         for item in self._OrderedDict__ordering:
             if not(item.startswith('#') or item == ''):
                 yield item
 
 
     def itervalues(self):
@@ -82,31 +82,31 @@
                 yield item, self[item]
             else:
                 yield [item]
 
 
     def __str__(self):
         str = ''
         for item in self.iteritems():
             if len(item) == 1:
                 str += item[0].__str__() + '\n'
             else:
                 str += item[1].__str__() + '\n'
         return str
 
 
-class RaEntry(OrderedDict):
+class RaStanza(OrderedDict):
     """
     Holds an individual entry in the RaFile.
     """
 
     def __init__(self):
         self._name = ''
         OrderedDict.__init__(self)
   
     @property 
     def name(self):
         return self._name
 
 
     def readStanza(self, stanza):
         """
@@ -126,31 +126,32 @@
         """
 
         if len(line.split(' ', 1)) != 2:
             raise ValueError()
 
         names = map(str.strip, line.split(' ', 1))
         self._name = names[1]
         return names
 
     def __readLine(self, line):
         """
         Reads a single line from the stanza, extracting the key-value pair
         """ 
 
         if line.startswith('#') or line == '':
-            self._OrderedDict__ordering.append(line)
+            OrderedDict.append(self, line)
+            #self._OrderedDict__ordering.append(line)
         else:
            raKey = line.split(' ', 1)[0]
            raVal = ''
            if (len(line.split(' ', 1)) == 2):
                raVal = line.split(' ', 1)[1]
            #raKey, raVal = map(str, line.split(' ', 1))
            self[raKey] = raVal
 
 
     def iter(self):
         pass
 
 
     def iterkeys(self):
         for item in self._OrderedDict__ordering: