Salve a tutti, ho un problema che non riesco a risolvere... ho un db con delle informazione su degli orari... ora ho uno script (per velocizzare faccio un ciclo ogni 10 secondi) che non riesce a memorizzare nel caso cambi l'orario. Es ho impostato orario ore alle 8 i minuti a 20... faccio partire il programma tutto ok... Funziona ma se dal db cambio da 20 a 25, lo script mi mostra sempre 20 nonostante che faccio una chiamata al db ogni volta... Non so dove sbaglio , qualcuno mi può illuminare???
posto lo script di prova:
codice:
#!/usr/bin/env python
import wiringpi as gpio
from time import sleep
import datetime
import MySQLdb
menuo = True
blocco = True
# Open database connection
conn = MySQLdb.connect(host="localhost", user="miauser",passwd="miapassword", db="domotica")
c = conn.cursor()
#fine controllo setup
def orario_su():
for id_tap in range(1,9):
sql = "SELECT pos_attuale,pos_doveva,tur_notte,pos_program,dimensione FROM tapparelle WHERE id='%s'" % (id_tap)
c.execute(sql)
results = c.fetchall()
for row in results:
pos_attuale = row[0]
pos_doveva = row[1]
tur_notte = row[2]
pos_program = row[3]
dimensione = row[4]
#print dimensione
if(dimensione == "grande"):
print "La tapparella e' grande" #print di prova
def menu_orario():
menuo = True
t = datetime.datetime.now()
if (blocco == True):
#sistema per orario
sql = "SELECT h_up,m_up,h_down,m_down,h_down_ultima,m_down_ultima,attivo FROM orario_tap WHERE id=1"
c.execute(sql)
results = c.fetchall()
for row in results:
h_up = row[0]
m_up = row[1]
h_down = row[2]
m_down = row[3]
h_down_ultima = row[4]
m_down_ultima = row[5]
attivo = row[6]
print h_up #prova di lettura database
print m_up
if(attivo == "si"):
if((t.hour == h_up) and (t.minute == m_up)):
orario_su()
#fine sistema per orario
while True:
if (menuo == True):
menu_orario()
sleep(10)