import wx
import RPi.GPIO as GPIO
import time
import sys
import MySQLdb as mdb
from datetime import datetime

import GUI2

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)

global rcount
global contador

con = mdb.connect('XXXXXXXX', 'XXXXXXXXX', 'XXXXXXXXXX', 'XXXXXXXXX')

class testframe(GUI2.Frame1):
    def __init__(self,parent):
        GUI2.Frame1.__init__(self,parent)

    def gaan(cvalue):
        self.staticText23.SetLabel(str(cvalue))

    def OnButton2Button(self,parent):
        rcount = 0
        try:
            while True:
                inputValue = GPIO.input(17)
                if(inputValue == True):
                    rcount = rcount + 1
                    print rcount
                    time.sleep(0.2)
                    mod = rcount % 5
                    # Every fifth count the staticText23 label must be updated wuth value of counter
                    if mod == 0 :
                        # Update staticText23 with function gaan()
                        # self.staticText23.SetLabel(str(rcount))
                        gaan(rcount)                 
        # Ctrl-C instead of stop button
        except KeyboardInterrupt:
            GPIO.cleanup()
            
            
    def OnButton3Button(self,parent):
        sys.exit()
    
    def update(self,parent):
        print rcount
        self.txt_Counter.SetValue(str(rcount))

    def OnButton1Button(self,parent):
        # read value from txt_barcode
        bcval = self.textCtrl1.GetValue()
        print bcval
        with con:
            cur = con.cursor(mdb.cursors.DictCursor)
            cur.execute("SELECT * FROM prodorder WHERE ID = %s", (int(bcval)))
            rows = cur.fetchall()
            for row in rows:
                var_ProdOrd = row["ProdOrd"]
                var_SalesOrder = row["SalesOrder"]
                var_Customer = row["Customer"]
                var_ReqDate = row["ReqDate"]
                var_ItemDesc = row["ItemDesc"]
                var_Qty = row["Qty"]
                var_RawMat = row["RawMat"]
                var_Dia = row["Dia"]
                var_Thickness = row["Th"]
                var_Alloy = row["Alloy"]
                var_Hours = row["Hours"]
                self.staticText12.SetLabel(str(var_ProdOrd))
                self.staticText13.SetLabel(str(var_SalesOrder))
                self.staticText14.SetLabel(str(var_Customer))
                self.staticText15.SetLabel(str(var_ReqDate))
                self.staticText16.SetLabel(str(var_ItemDesc))
                self.staticText17.SetLabel(str(var_Qty))
                self.staticText18.SetLabel(str(var_RawMat))
                self.staticText19.SetLabel(str(var_Dia))
                self.staticText20.SetLabel(str(var_Thickness))
                self.staticText21.SetLabel(str(var_Alloy))
                self.staticText22.SetLabel(str(var_Hours))
       
app = wx.App(False)

frame = testframe(None)
frame.Show(True)
app.MainLoop()
