aabbe0bb988684142b46265bd41e3e6e29a2f3c1
mmaddren
  Wed Jun 22 16:16:21 2011 -0700
updated directory structure to fit library design goal. modify PYTHONPATH to now point at python/ucscgenomics/lib instead of python/ucscgenomics/rafile
diff --git python/ucscgenomics/rafile/RaFile.py python/ucscgenomics/rafile/RaFile.py
deleted file mode 100644
index 7c27048..0000000
--- python/ucscgenomics/rafile/RaFile.py
+++ /dev/null
@@ -1,183 +0,0 @@
-import sys
-import re
-from OrderedDict import *
-
-class RaFile(OrderedDict):
-	"""
-	Stores an Ra file in a set of entries, one for each stanza in the file.
-	"""
-
-	def __init__(self, filePath=''):
-		OrderedDict.__init__(self)
-		if filePath != '':
-			self.read(filePath) 
-
-	def read(self, filePath):
-		"""
-		Reads an rafile stanza by stanza, and internalizes it.
-		"""
-
-		file = open(filePath, 'r')
-
-		#entry = None
-		stanza = list()
-		keyValue = ''
-
-		for line in file:
- 
-			line = line.strip()
-
-			if len(stanza) == 0 and (line.startswith('#') or 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 entry != None and keyValue != testKey:
-						raise KeyError('Inconsistent Key ' + testKey)
-						
-				if entry != None:
-					if name in self:
-						raise KeyError('Duplicate Key ' + name)
-					self[name] = entry
-				
-				stanza = list()
-
-		if len(stanza) > 0:
-			raise IOError('File is not newline terminated')
-
-		file.close()
-
-
-	def readStanza(self, stanza):
-		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):
-		for item in self._OrderedDict__ordering:
-			if not (item.startswith('#') or item == ''):
-				yield self[item]
-
-
-	def iteritems(self):
-		for item in self._OrderedDict__ordering:
-			if not (item.startswith('#') or item == ''):
-				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 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):
-		"""
-		Populates this entry from a single stanza
-		"""
-
-		for line in stanza:
-			self.__readLine(line)
-
-		return self.__readName(stanza[0])
-
-
-	def __readName(self, line):
-		"""
-		Extracts the Stanza's name from the value of the first line of the
-		stanza.
-		"""
-
-		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 == '':
-			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:
-			if not (item.startswith('#') or item == ''):
-				yield item
-
-
-	def itervalues(self):
-		for item in self._OrderedDict__ordering:
-			if not (item.startswith('#') or item == ''):
-				yield self[item]
-
-
-	def iteritems(self):
-		for item in self._OrderedDict__ordering:
-			if not (item.startswith('#') or item == ''):
-				yield item, self[item]
-
-
-	def __str__(self):
-		str = ''
-		for key in self:
-			if key.startswith('#'):
-				str += key + '\n'
-			else:
-				str += key + ' ' + self[key] + '\n'
-
-		return str
-