Загрузка данных


import sqlite3
from flask import Flask, jsonify, request
app = Flask(__name__)
def db():
    c = sqlite3.connect("notes.db")
    c.row_factory = sqlite3.Row
    return c
c = db()
c.executescript("create table if not exists users(id integer primary key, login text); create table if not exists notes(id integer primary key, title text, content text, id_user integer references users(id), created_at date);")
if not c.execute("select 1 from users").fetchone():
    c.execute("insert into users values(1,'user25'),(2,'user26')")
    c.execute("insert into notes values(1,'Конференция ИТ','Содержимое заметки',1,'2027-04-15'),(2,'Встреча','Обсудить',2,'2027-03-15'),(3,'Продукты','Хлеб',1,'2027-02-10')")
    c.commit()
@app.route("/notes")
def notes():
    try:
        if request.args.get("test_error"):
            raise Exception("Ошибка подключения к базе данных")
        u = request.args.get("user_id")
        if u and not u.isdigit():
            return jsonify(error="Некорректный запрос"), 400
        q = "select n.*, u.login from notes n join users u on u.id=n.id_user"
        rows = db().execute(q + (" where n.id_user=?" if u else ""), (u,) if u else ()).fetchall()
        out = []
        for r in rows:
            y, m, d = r["created_at"].split("-")
            out.append({"id": str(r["id"]).zfill(5), "title_user": r["title"] + " - " + r["login"], "content": r["content"], "formatted_date": d + "." + m + "." + y})
        return jsonify(out)
    except Exception as e:
        return jsonify(error=str(e)), 500
app.run(port=3000)