|
- # pylint: disable = missing-class-docstring
- # pylint: disable = missing-function-docstring
-
- """
- 動画コードからコメントのリストを取得し,JSON 形式で出力する.
- """
-
- from __future__ import annotations
-
- import json
- import os
- import sys
- from datetime import date, datetime
- from typing import TypedDict, cast
-
- from eloquent import DatabaseManager, Model
-
- from db.config import DB
- from db.models import Video
-
- DB
-
-
- def main (
- video_code: str,
- ) -> None:
- video = Video.where ('code', video_code).first ()
- if video:
- comments: list[CommentDict] = []
- for row in video.comments:
- comment: CommentDict = {
- 'id': row.id,
- 'video_id': row.video_id,
- 'comment_no': row.comment_no,
- 'user_id': row.user_id,
- 'content': row.content,
- 'posted_at': row.posted_at,
- 'nico_count': row.nico_count,
- 'vpos_ms': row.vpos_ms }
- comments.append (comment)
- print (json.dumps (comments, default = str))
- else:
- print ('[]')
-
-
- class CommentDict (TypedDict):
- id: int
- video_id: int
- comment_no: int
- user_id: int
- content: str
- posted_at: datetime
- nico_count: int
- vpos_ms: int
-
-
- if __name__ == '__main__':
- main (sys.argv[1])
|