Есть приложение, в авторизацией по ключам, ключи хранятся в бд на сервере, скрипт полностью рабочий, ибо проверял все и не раз на локальном сервере, изменения вносятся, приложение не стопал.
Вот функции из фласк приложения для работы с бд
@app.route("/load", methods=["POST"])
def load_data():
if request.method == 'POST':
data = request.json
db = sqlite3.connect('ozon.db')
cur = db.cursor()
try:
key = cur.execute('''SELECT key FROM keys WHERE key="{0}"'''.format(data['key']))
key = cur.fetchone()
try:
if key[0]:
cur.execute('''UPDATE keys SET value = "{0}" WHERE key= "{1}"'''.format('1',data['key']))
db.commit()
key_id = cur.execute('''SELECT id FROM keys WHERE key="{0}"'''.format(data['key']))
key_id = cur.fetchone()
uuid = cur.execute('''SELECT uuid FROM system WHERE key_id="{0}"'''.format(key_id[0]))
uuid = cur.fetchone()
if not uuid:
cur.execute("""INSERT INTO system VALUES ('{0}','{1}')""".format(data['uuid'],key_id[0]))
db.commit()
return 'True'
else:
if uuid[0] == data['uuid']:
return 'True'
else:
return 'False'
except TypeError:
return 'False'
except sqlite3.Error as e:
if db:
db.rollback()
print(e)
finally:
if db:
db.close()
return 'test'
@app.route("/check", methods=["POST"])
def check_data():
if request.method == 'POST':
data = request.json
db = sqlite3.connect('ozon.db')
cur = db.cursor()
try:
value = cur.execute('''SELECT value FROM keys WHERE key="{0}"'''.format(data['key']))
value = cur.fetchone()
try:
if value[0]:
if value[0] == 1:
return 'True'
else:
return 'False'
else:
return 'False'
except TypeError:
return 'False'
except sqlite3.Error as e:
if db:
db.rollback()
print(e)
finally:
if db:
db.close()
return 'test'
Качал через file.io
curl -F "file=@db.db" https://file.io
Не могу понять почему так.