Здравствуйте.
Решил написать маленькое приложение для того что бы получать информацию о персонажах с сервера игры.
Для хранения данных решил использовать SQLite.
Мне удалось сделать что бы:
Программа получила данные -> поместила в базу -> Показала
Но:
Когда приходит время обновить информацию,код не работает,хотя ошибки не выскакивают
Подскажите что я делаю не так?
Функция поиска информации об игроке в БД
def search_nicknames(name):
cursor = conn.cursor()
sql = "SELECT * FROM user_info WHERE Nickname ==? "
search_data_update = []
print("search_nicknames ",name)
cursor.execute(sql, (name,))
#print(name[i])
result = cursor.fetchall()
cursor.close()
#print("Fetachall: ", result)
if result == []:
print("ISNERT")
return insert_data(name)
if result != []:
print("Есть в БД", name,result[0][9])
if (time.time() - result[0][9]) > 1800 or result[0][1] == "ERROR":
print("Последний раз обновлялся ",time.ctime(result[0][9]) ," ", result[0][1],result[0][2])
print(time.ctime(time.time()))
return update_data(name)
else:
print("рановато " , name)
return result[0]
Функция обновления данных
def update_data(name):
cursor = conn.cursor()
print("update_data " , name)
req_data_user = user_req(name)
print("UPDATE DATA",req_data_user[1],req_data_user[2],req_data_user[3],req_data_user[4],req_data_user[5],req_data_user[6],req_data_user[7],req_data_user[8],time.time(),name[0])
cursor.execute("""UPDATE user_info set Corporation = ? ,Alliance = ?,Sec_status = ? ,Ship_Kill = ? ,Solo_Kill = ?,Ship_Lost = ?,Gang_Ratio = ? ,ZKillboard_inf = ?, time_update = ? WHERE Nickname == ?""",(req_data_user[1],req_data_user[2],req_data_user[3],req_data_user[4],req_data_user[5],req_data_user[6],req_data_user[7],req_data_user[8],time.time(),name[0]))
conn.commit()
cursor.close()
return req_data_user