コメント取得追加
このコミットが含まれているのは:
@@ -0,0 +1,58 @@
|
|||||||
|
# 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])
|
||||||
新しい課題から参照
ユーザをブロックする