def rSpace(data): data=data.replace(" ","&") while data.find("&&") != -1: data=data.replace("&&","&") return data class parse: def __init__(self,text): # well... go off and parse? text=text.replace("\r","") self.date=self.dateParse(text) self.creditCard=self.creditParse(text) self.disc=self.discParse(text) self.sales=self.salesParse(text) self.tax=self.taxParse(text) self.off=self.offParse(text) self.cash=self.cashParse(text) self.shop=self.shopParse(text) self.outs=self.outParse(text) def getOut(self): return self.outs def getShop(self): return self.shop def getDate(self): return self.date def getCredit(self): return self.creditCard def getDiscount(self): return self.disc def getSales(self): return self.sales def getTax(self): return self.tax def getOff(self): return self.off def getCash(self): return self.cash def getDict(self): return {"date":self.date,"credit":self.creditCard,"discounts":self.disc, "sales":self.sales,"tax":self.tax,"off":self.off,'cash':self.cash, 'shop':self.shop,'outs':self.outs} def shopParse(self,text): line=text.split("\n")[0] sections=self.rSpace(line).split("&") shop=sections[1] return shop def dateParse(self,text): line=text.split("\n")[1] sections=self.rSpace(line).split("&") date=sections[-1] splitDate=date.split("/") # rSpace(t.split("\n")[1]).split("&")[-1] return "20%s-%s-%s" % (splitDate[2],splitDate[0].zfill(2),splitDate[1].zfill(2)) def creditParse(self,text): for i in text.split("\n"): if i.find("CREDT CARD") != -1: line=i line=line[:36] line=line.replace("CREDT CARD","CARD") return self.rSpace(line).split("&")[1] def discParse(self,text): for i in text.split("\n"): if i.find("Total Discount Keys") != -1: line=i line=line[:36] line=line.replace("Total Discount Keys","disc") return self.rSpace(line).split("&")[1] def rSpace(self,data): data=data.replace(" ","&") while data.find("&&") != -1: data=data.replace("&&","&") return data def salesParse(self,text): for i in text.split("\n"): if i.find("TOTAL Paid Outs") != -1: line=i return self.rSpace(line).split("&")[6] def taxParse(self,text): for i in text.split("\n"): if i.find("Tax")!=-1: line=i break line=line[:36] return self.rSpace(line).split("&")[1] def offParse(self,text): for i in text.split("\n"): if i.find("Cash ***") != -1: line=i line=line[:36] return self.rSpace(line).split("&")[-1] def cashParse(self,text): x=0 cashes=list() for i in text.split("\n"): if i.find("*----------- PAID OUTS ------------*") != -1: x=1 if x==1: if i.find("_____________") != -1: dollar=self.rSpace(i).split("&")[-3] try: if float(dollar) != 0: cashes.append(dollar) except: pass return cashes def outParse(self,text): x=0 outs=list() for i in text.split("\n"): if i.find("*----------- PAID OUTS ------------*") != -1: x=1 if x==1: if i.find("_____________") != -1: try: dollar=self.rSpace(i[:40]).split('&')[-2] if float(dollar) != 0: outs.append(dollar) except: pass return outs