''' Created on May 2, 2013 @author: Jose Antonio Sal y Rosas Celi @contact: jose.salyrosas@jro.igp.gob.pe ''' class readABSFile(object): __scriptName = "readABSFile.py" def __init__(self, filename): self.fileName = filename self.content = "" self.exp_name = "" self.number_patterns = 0 self.patterns = {} def readFile(self): f = open(self.fileName, 'r') self.content = f.readlines() f.close() def getMetadata(self): self.readFile() newLine = self.content[0].replace("'","") pos = newLine.find("=") self.exp_name = newLine[pos+1:].strip() pos = self.content[2].find("=") self.number_patterns = int(self.content[2][pos+1:].strip()) self.patterns = self.getPatterns(self.content[3:]) return self.exp_name, self.number_patterns, self.patterns def getPatterns(self, content): lsPattern = [] patterns = self.getValueofPattern(content) for element in patterns: if element != "": strValue = element.replace("=","/") pattern = strValue.split("/") dicPattern = {"number" : pattern[0], "up" : pattern[1], "down" : pattern[2]} lsPattern.append(dicPattern) return lsPattern def getValueofPattern(self, content): strValue = "".join(element.replace("\n","+").strip() for element in content) strValue = strValue.replace("\r","+") strValue = strValue.replace("$","") strValue = strValue.replace("]]+++[[","]]/[[") strValue = strValue.replace("]]++[[","]]/[[") strValue = strValue.replace("]]+[[","]]/[[") strValue = strValue.replace("],++[","],[") strValue = strValue.replace("],+[","],[") strValue = strValue.replace("]]+++","]]|") strValue = strValue.replace("]]++","]]|") strValue = strValue.replace("]]+","]]|") strValue = strValue.replace(" =++[[","=[[") strValue = strValue.replace("=++[[","=[[") strValue = strValue.replace(" =+[[","=[[") strValue = strValue.replace("=+[[","=[[") strValue = strValue.replace("+","").strip() #print strValue lsPatterns = strValue.split("|") return lsPatterns