Compare commits

..

2 commits

Author SHA1 Message Date
yuuki
35da875d10 ページサイズをctxにまとめる 2025-04-06 08:33:43 +00:00
yuuki
97457bfdec 依存関係の更新 2025-04-06 08:31:48 +00:00
2 changed files with 7 additions and 5 deletions

6
app.py
View file

@ -84,6 +84,8 @@ async def lifespan(app: FastAPI):
#ctx["mongo_client"].litey.notes.create_index("id", unique=True) #ctx["mongo_client"].litey.notes.create_index("id", unique=True)
ctx["mongo_client"].litey.ngs.create_index("word", unique=True) ctx["mongo_client"].litey.ngs.create_index("word", unique=True)
ctx["page_size"] = 100
pprint(ctx) pprint(ctx)
redis_uri = environ.get("REDIS_URI", "redis://127.0.0.1:6379/") redis_uri = environ.get("REDIS_URI", "redis://127.0.0.1:6379/")
@ -135,11 +137,11 @@ def get_ip(req: Request) -> str:
return req.headers.get("CF-Connecting-IP") or req.headers.get("X-Forwarded-For") or req.client.host return req.headers.get("CF-Connecting-IP") or req.headers.get("X-Forwarded-For") or req.client.host
def get_max_page() -> int: def get_max_page() -> int:
return ceil(ctx["mongo_client"].litey.notes.count_documents({}) / 50) return ceil(ctx["mongo_client"].litey.notes.count_documents({}) / ctx["page_size"])
def get_litey_notes(id: str = None, page: int = 0) -> List[dict]: def get_litey_notes(id: str = None, page: int = 0) -> List[dict]:
if not id: if not id:
cursor = ctx["mongo_client"].litey.notes.find({}, { "_id": False }).sort("date", DESCENDING).skip(page * 50).limit(50) cursor = ctx["mongo_client"].litey.notes.find({}, { "_id": False }).sort("date", DESCENDING).skip(page * ctx["page_size"]).limit(ctx["page_size"])
return list(cursor) return list(cursor)
return ctx["mongo_client"].litey.notes.find_one({ "id": id }, { "_id": False }) return ctx["mongo_client"].litey.notes.find_one({ "id": id }, { "_id": False })

View file

@ -1,5 +1,5 @@
requests==2.32.3 requests==2.32.3
fastapi[standard]==0.115.8 fastapi[standard]==0.115.12
pymongo==4.11 pymongo==4.11.3
Jinja2==3.1.5 Jinja2==3.1.6
fastapi-limiter==0.1.6 fastapi-limiter==0.1.6