Exemple #1
0
 def lastName(self):
     try:
         if len(self.name) == 4:
             return self.name[2]
         else:
             return self.name[1]
     except IndexError as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         return self.name
Exemple #2
0
 def __init__(self, data):
     try:
         if len(data) == 8 or len(data) == 9:
             self.photo = data[4]
         else:
             self.photo = data[10]
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         self.photo = ""
Exemple #3
0
 def __init__(self, data):
     try:
         if data[5] != "1":
             self.thing = data[2].split()
         else:
             self.thing = ""
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         self.thing = ""
Exemple #4
0
 def __init__(self, data):
     try:
         if data in Error(data).errorList:
             self.company = data
         elif len(data) == 8 or len(data) == 9:
             self.company = data[7]
         else:
             self.company = data[13]
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         self.company = ""
Exemple #5
0
 def location(self):
     try:
         if len(self.photo) <= 1:
             return "Texture/Photos/00000-0-0.png"
         elif not self.photo.endswith(".png"):
             return "Texture/Photos/00000-0-0.png"
         else:
             return "Texture/Photos/{0}".format(self.photo)
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         return "Texture/Photos/00000-0-0.png"
Exemple #6
0
 def location(self):
     try:
         if self.company == "Pinnacle Aerospace":
             return "Texture/Logos/PA.png"
         elif self.company == "Sonora Offshore":
             return "Texture/Logos/OTSA.png"
         else:
             return "Texture/Logos/OTSA.png"
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         return "Texture/Logos/OTSA.png"
Exemple #7
0
    def chooseBackground(self):
        try:
            self.ib = self.thing[0:2][0]

            if self.ib == "Guiso1":
                return "Texture/Interactive_background_1.png"
            elif self.ib == "Guiso2":
                return "Texture/Interactive_background_2.png"
            elif self.ib == "Guiso3":
                return "Texture/Interactive_background_3.png"
            else:
                return "Texture/Interactive_background_4.png"
        except Exception as e:
            logFile(str(e)+" in "+os.path.basename(__file__))
            return "Texture/Interactive_background_4.png"
Exemple #8
0
 def dishType(self):
     try:
         if self.dish in Error(self.dish).errorList:
             return "Status: Error {0}".format(hex(int(self.dish)))
         elif self.dish == 8:
             return "Status: VIP"
         elif self.dish == 9:
             return "Status: No food"
         elif self.dish == 1:
             return "Status: Served"
         else:
             dishName = ""
             for spliting in self.dish[0:1]:
                 dishName += "{0} ".format(spliting)
             return dishName
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         return "Status: Fatal error"
Exemple #9
0
 def dishName(self):
     try:
         if self.dish in Error(self.dish).errorList:
             return "{0}".format(Error(int(self.dish)).errorDatabase())
         elif self.dish == 8:
             return "Select the dish"
         elif self.dish == 9:
             return "No order"
         elif self.dish == 1:
             return "You already served"
         else:
             dishName = ''
             for spliting in self.dish[1:]:
                 dishName += '{0} '.format(spliting)
             return dishName[1:-2]
     except Exception as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         return "Fatal error"
Exemple #10
0
 def __init__(self, data):
     try:
         if len(data) == 8: # Verify if is vip
             self.dish = 8
         elif len(data) == 9: # Verify if no order
             self.dish = 9
         elif data in Error(data).errorList: # Verify if is error
             self.dish = data
         elif data[5] == "1": # Verify if is served
             self.dish = 1
         else:
             self.dish = data[2].split() # Verify if is normal employee
     except TypeError as e:
         logFile(str(e)+" in "+os.path.basename(__file__))
         if data in Error(data).errorList:
             self.dish = data
         elif data[5] == "1":
             self.dish = 1
         else:
             self.dish = data[2].split()
Exemple #11
0
def updateStatus(row):
    try:
        db = ViewMySQLdb().connDB()
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        if e[0] == 1049:
            return "110000"
        elif e[0] == 1045:
            return "110010"
        else:
            return "110020"
    try:
        cur = db.cursor()
        served = cur.execute("UPDATE Current_menu SET served='1' WHERE menu_id=%s;", (row[0], ))
        cur.execute("UPDATE Current_menu SET date=NOW() WHERE menu_id=%s;", (row[0], ))
        db.commit()
        db.close()
        return served
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "150000"
Exemple #12
0
def viewStatus(badge):
    try:
        currentDay = str(datetime.now()).split()[0]
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "100000"
    try:
        db = ViewMySQLdb().connDB()
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        if e[0] == 1049:
            return "110000"
        elif e[0] == 1045:
            return "110010"
        else:
            return "110020"
    try:
        cur = db.cursor()
        cur.execute("SELECT * FROM Current_menu JOIN Employees, Company WHERE Current_menu.employee_id=Employees.employee_id AND Current_menu.company_id=Company.company_id")
        for row in cur.fetchall():
            if row[8] == badge:
                if str(row[4]).split()[0] == currentDay:
                    db.close()
                    return row[5]
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "120000"
Exemple #13
0
 def update_data(self, sec):
     if GPIO.input(17):
         badgeData = throwInData()
         self.badge = catchResult(badgeData)
         self.employee.text = OnScreen(self.badge).joinAll()[2]
         self.dish.text = OnScreen(self.badge).joinAll()[1]
         self.dishid.text = OnScreen(self.badge).joinAll()[0]
         self.photo.source = OnScreen(self.badge).joinAll()[5]
         self.company.source = OnScreen(self.badge).joinAll()[3]
         self.ib.source = OnScreen(self.badge).joinAll()[4]
         self.status = viewStatus(badgeData)
     elif GPIO.input(27):
         try:
             if self.status == "0":
                 updateStatus(self.badge)
                 self.dishid.text = "Status: Served"
         except Exception as e:
             logFile(str(e) + " in " + os.path.basename(__file__))
             pass
     elif GPIO.input(22):
         convertXLSX()
         sys.exit()
Exemple #14
0
def catchResult(badge):
    vipList = ["5300C84782"]
    try:
        currentDay = str(datetime.now()).split()[0]
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "100000"
    try:
        db = ViewMySQLdb().connDB()
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        if e[0] == 1049:
            return "110000"
        elif e[0] == 1045:
            return "110010"
        else:
            return "110020"
    try:
        cur = db.cursor()
        cur.execute("SELECT * FROM Current_menu JOIN Employees, Company WHERE Current_menu.employee_id=Employees.employee_id AND Current_menu.company_id=Company.company_id")
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "120000"
    try:
        for row in cur.fetchall():
            if row[8] == badge:
                if str(row[4]).split()[0] == currentDay:
                    db.close()
                    return row
            elif badge in vipList:
                cur.execute("SELECT * FROM Employees JOIN Company WHERE Employees.company_id=Company.company_id AND badge=%s;", (badge, ))
                for vip in cur.fetchall():
                    return vip
        if badge not in vipList:
            cur.execute("SELECT * FROM Employees JOIN Company WHERE Employees.company_id=Company.company_id AND badge=%s;", (badge, ))
            for noVip in cur.fetchall():
                y = []
                for x in noVip:
                    y.append(x)
                y.append("0x0")
                return y
        db.close()
        if badge == "DEFCONMODE":
            return "130000"
        return "130010"
    except Exception as e:
        logFile(str(e)+" in "+os.path.basename(__file__))
        return "140000"
Exemple #15
0
def convertXLSX():
    import os
    import shutil
    from xlsxwriter import Workbook
    from datetime import datetime
    from ViewMySQLdb import ViewMySQLdb
    from createLog import logFile

    realPath = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    tmpPath = "/Resources/Temp/"
    nowIs = str(datetime.now()).split()[0]
    try:
        db = ViewMySQLdb().connDB()
        cur = db.cursor()
        cur.execute(
            "SELECT * FROM Current_menu JOIN Employees, Company WHERE Current_menu.employee_id=Employees.employee_id AND Current_menu.company_id=Company.company_id AND SUBSTR(Current_menu.date,1,10)=%s",
            (nowIs, ))
        rawData = cur.fetchall()
        if rawData:
            workbook = Workbook(realPath + tmpPath + "Current_menu.xlsx")
            worksheet = workbook.add_worksheet(nowIs)
            worksheet.set_column('A:E', 40)
            cellFormat = workbook.add_format({
                'valign': 'center',
                'fg_color': '#D7E4BC',
                'border': 1
            })

            data = []
            for row in rawData:
                arrangedData = [row[7]] + [row[13]] + [row[2]] + [str(row[4])
                                                                  ] + [row[5]]
                data.append(arrangedData)

            worksheet.add_table(
                'A1:E1000', {
                    'data':
                    data,
                    'columns': [
                        {
                            'header': 'Name',
                            'format': cellFormat
                        },
                        {
                            'header': 'Company',
                            'format': cellFormat
                        },
                        {
                            'header': 'Dish',
                            'format': cellFormat
                        },
                        {
                            'header': 'Date',
                            'format': cellFormat
                        },
                        {
                            'header': 'Status',
                            'format': cellFormat
                        },
                    ]
                })
            workbook.close()
            db.close()
            shutil.copy(
                realPath + tmpPath + "Current_menu.xlsx",
                realPath + tmpPath + "Service Control/Current_menu.xlsx")
            os.rename(
                realPath + tmpPath + "Service Control/Current_menu.xlsx",
                realPath + tmpPath + "Service Control/{0}.xlsx".format(nowIs))
        else:
            return "Error to read information from database!"
    except Exception as e:
        logFile(str(e) + " in " + os.path.basename(__file__))
        return "Fatal Error"