Eu mudaria a declaração que verifica se a conexão está aberta tanto para verificar se conn é none quanto se a conexão está aberta. E porque você sempre executa o
setValue
Eu recomendo que você chame a conexão dentro do __init__
função. class Sample:
conn = None
def __init__(self):
self.connect()
self.value = self.setValue()
self.close()
def connect(self):
self.conn = MySQLdb.connect(...)
def close(self):
if self.conn:
self.conn.close()
def setValue(self):
if not self.conn and not self.conn.open:
self.connect()
cursor = self.conn.cursor()
Além disso, lembre-se de que, com o Python MySQL Connector, você precisa chamar commit após executar uma instrução de inserção ou atualização.
cur = self.conn.cursor()
cur.execute("...")
self.conn.commit()