All pastes #146976 Raw Edit

emma

public text v1 · immutable
#146976 ·published 2006-08-24 00:40 UTC
rendered paste body
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