From 86238a11ed3c339c53653476318f75a750b7c455 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Tue, 8 Oct 2024 12:46:30 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=BF=E3=82=B0=E5=91=A8=E3=82=8A=E3=81=AE?= =?UTF-8?q?=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update_db.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/update_db.py b/update_db.py index 62f2dbe..036f12f 100644 --- a/update_db.py +++ b/update_db.py @@ -18,7 +18,7 @@ import requests # TODO: “何もしなぃ” を意味する None と区別可能にするため,NULL クラスを別途用意すること DbNull = None -DbNullType = None +DbNullType = type (None) class VideoSearchParam (TypedDict): @@ -33,7 +33,7 @@ class VideoSearchParam (TypedDict): class VideoResult (TypedDict): contentId: str title: str - tags: list[str] + tags: str description: str viewCounter: int startTime: str @@ -91,6 +91,7 @@ def update_tables ( ) -> None: video_ids: list[int] = [] for datum in api_data: + tag_names = datum['tags'].split () video = VideoDto (code = datum['contentId'], title = datum['title'], description = datum['description'], @@ -107,12 +108,12 @@ def update_tables ( for vt in video_tags: tag = tag_dao.find (vt.tag_id) if (tag is not None - and (tag.name not in datum['tags']) + and (tag.name not in tag_names) and (tag.id_ is not None)): tag_ids.append (tag.id_) video_tag_dao.untag_all (video.id_, tag_ids, now) tags: list[TagDto] = [] - for tag_name in datum['tags']: + for tag_name in tag_names: tag = tag_dao.fetch_by_name (tag_name) if tag is None: tag = TagDto (name = tag_name) @@ -139,12 +140,12 @@ def update_tables ( vpos_ms = com['vposMs']) comment_dao.upsert (comment, False) - alive_video_ids = [d['contentId'] for d in api_data] + alive_video_codes = [d['contentId'] for d in api_data] lost_video_ids: list[int] = [] videos = video_dao.fetch_alive () for video in videos: - if video.id_ is not None and video.id_ not in alive_video_ids: + if video.id_ is not None and video.code not in alive_video_codes: lost_video_ids.append (video.id_) video_dao.delete (lost_video_ids, now) @@ -573,7 +574,7 @@ class VideoTagDao: self, video_id: int, tag_ids: list[int], - now: datetime + now: datetime, ) -> None: if not tag_ids: return