| @@ -11,12 +11,12 @@ import json | |||||
| import os | import os | ||||
| import sys | import sys | ||||
| from datetime import date, datetime | from datetime import date, datetime | ||||
| from typing import TypedDict | |||||
| from typing import TypedDict, cast | |||||
| from eloquent import DatabaseManager, Model | from eloquent import DatabaseManager, Model | ||||
| from db.config import DB | from db.config import DB | ||||
| from db.models import VideoHistory | |||||
| from db.models import Video, VideoHistory | |||||
| DB | DB | ||||
| @@ -26,9 +26,9 @@ def main ( | |||||
| base_date: date, | base_date: date, | ||||
| ) -> None: | ) -> None: | ||||
| if not base_date: | if not base_date: | ||||
| base_date = date.now () | |||||
| base_date = datetime.now ().date () | |||||
| kiriban_list: list[list[int, str, str]] = [] | |||||
| kiriban_list: list[tuple[int, str, str]] = [] | |||||
| latest_fetched_at = cast (date, (VideoHistory | latest_fetched_at = cast (date, (VideoHistory | ||||
| .where ('fetched_at', '<=', base_date) | .where ('fetched_at', '<=', base_date) | ||||
| @@ -47,7 +47,7 @@ def main ( | |||||
| previous_views_count: int | None = ( | previous_views_count: int | None = ( | ||||
| VideoHistory | VideoHistory | ||||
| .where_has ('viedo', lambda q, code = code: q.where ('code', code)) | |||||
| .where_has ('viedos', lambda q, code = code: q.where ('code', code)) | |||||
| .where ('fetched_at', '<', latest_fetched_at) | .where ('fetched_at', '<', latest_fetched_at) | ||||
| .max ('views_count')) | .max ('views_count')) | ||||
| if previous_views_count is None: | if previous_views_count is None: | ||||
| @@ -55,12 +55,13 @@ def main ( | |||||
| if previous_views_count >= views_count: | if previous_views_count >= views_count: | ||||
| continue | continue | ||||
| kiriban_list.append ([views_count, code, | |||||
| kiriban_list.append ((views_count, code, | |||||
| (cast (Video, Video.where ('code', code).first ()) | (cast (Video, Video.where ('code', code).first ()) | ||||
| .uploaded_at)]) | |||||
| .uploaded_at))) | |||||
| print (json.dumps (kiriban_list, default = str)) | print (json.dumps (kiriban_list, default = str)) | ||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||
| main (sys.argv[2:], datetime.strptime (sys.argv[1], '%Y-%m-%d').date ()) | |||||
| main (map (int, sys.argv[2:]), | |||||
| datetime.strptime (sys.argv[1], '%Y-%m-%d').date ()) | |||||