diff --git a/modules/discord.py b/modules/discord.py index a202382..d651101 100644 --- a/modules/discord.py +++ b/modules/discord.py @@ -10,14 +10,14 @@ from . import savedata -presence_rpc = pypresence.Presence(savedata.DISCORD_CLIENT_ID) +presence_rpc = pypresence.Presence(savedata.DISCORD_CLIENT_ID, connection_timeout=300, response_timeout=300) presence_rpc.connect() @functools.cache def _get_video_with_cache(video_id: str): return nicovideo.video.get_metadata(video_id) -async def update_video(videoid: str, time: datetime.timedelta, now: datetime.datetime): +def update_video(videoid: str, time: datetime.timedelta, now: datetime.datetime): """ Rich Presenceの再生時更新 """ timesecs = 0 for record in savedata.records: @@ -36,7 +36,7 @@ async def update_video(videoid: str, time: datetime.timedelta, now: datetime.dat {"label": "ニコニコ動画トップ", "url": "https://www.nicovideo.jp/video_top"} ]) -async def clear(): +def clear(): """ Rich Presenceのクリア """ presence_rpc.clear(pid=os.getpid()) diff --git a/modules/httpserver.py b/modules/httpserver.py index dca2903..8751905 100644 --- a/modules/httpserver.py +++ b/modules/httpserver.py @@ -21,31 +21,31 @@ @app.post("/api/v1/update_watch", response_model=schemas.ServerResponse.ResponseMessage, status_code=200, response_class=fastapi.responses.ORJSONResponse) -async def api_v1_update_watch(videodata: schemas.ClientRequest.APIv1UpdateWatch): +def api_v1_update_watch(videodata: schemas.ClientRequest.APIv1UpdateWatch): """ /api/v1/update_watch: Update video.""" if savedata.now_playing: - await savedata.append_record( + savedata.append_record( f"{savedata.now_playing[0]}," f"{savedata.now_playing[1].isoformat()}," f"{datetime.datetime.now().isoformat()}" ) savedata.now_playing = (videodata.video_id, datetime.datetime.now()) savedata.now_playing_time_update = (videodata.time, datetime.datetime.now()) - await discord.update_video(savedata.now_playing[0], savedata.now_playing_time_update[0], + discord.update_video(savedata.now_playing[0], savedata.now_playing_time_update[0], savedata.now_playing_time_update[1]) return fastapi.responses.ORJSONResponse({"message": "ok"}, status_code=200) @app.post("/api/v1/stop_watch", response_model=schemas.ServerResponse.ResponseMessage, status_code=200, response_class=fastapi.responses.ORJSONResponse) -async def api_v1_stop_watch(): +def api_v1_stop_watch(): """ /api/v1/stop_watch: Stop watching video. """ if savedata.now_playing: - await savedata.append_record( + savedata.append_record( f"{savedata.now_playing[0]}," f"{savedata.now_playing[1].isoformat()}," f"{datetime.datetime.now().isoformat()}" ) savedata.now_playing = None savedata.now_playing_time_update = None - await discord.clear() + discord.clear() return fastapi.responses.ORJSONResponse({"message": "ok"}, status_code=200) diff --git a/modules/savedata.py b/modules/savedata.py index b4e5170..1e102c6 100644 --- a/modules/savedata.py +++ b/modules/savedata.py @@ -24,7 +24,7 @@ for record in savedata.split("\n")[3:]: records.append(record) -async def append_record(value: str): +def append_record(value: str): """ recordsリストにvalueを追加した後、更にSAVEDATA_FILEに記録する。 """ with open(SAVEDATA_FILE, encoding="utf-8", mode="a") as h: h.write("\n" + value)