diff --git a/docs/reference.rst b/docs/reference.rst index 59cc0fa..ff418f6 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -11,12 +11,22 @@ .. autoclass:: luogu.Paste :members: + .. versionchanged:: 0.1 + 变量 *time* 的类型自 :class:`int` 改为 :class:`datetime.datetime` + .. autoclass:: luogu.Problem - :members: + + .. autoclass:: luogu.Problem.Attachment + + .. versionchanged:: 0.1 + 变量 *upload_time* 的类型自 :class:`int` 改为 :class:`datetime.datetime` .. autoclass:: luogu.User :members: + .. versionchanged:: 0.1 + 变量 *register_time* 的类型自 :class:`int` 改为 :class:`datetime.datetime` + 会话 ==== diff --git a/src/luogu/__init__.py b/src/luogu/__init__.py index 2d6f797..f3bd97a 100644 --- a/src/luogu/__init__.py +++ b/src/luogu/__init__.py @@ -12,7 +12,7 @@ from .models.paste import Paste from .session import Session -__version__ = "0.0.2" +__version__ = "0.1.0" __all__ = ( "AccessDeniedHttpException", diff --git a/src/luogu/models/main.py b/src/luogu/models/main.py index 4cdd897..1b987d0 100644 --- a/src/luogu/models/main.py +++ b/src/luogu/models/main.py @@ -1,3 +1,5 @@ +from datetime import datetime + from ..utils import LazyList, cached_method from . import Model @@ -10,7 +12,7 @@ class User(Model): :raises NotFoundHttpException: 用户未找到 - :var int register_time: 注册时间 + :var datetime.datetime register_time: 注册时间 :var str introduction: 个人介绍 :var list[Prize] prize: 获奖信息 :var str blog_address: 个人博客地址 @@ -58,7 +60,7 @@ def __init__(self, uid: "int | str") -> None: )["currentData"] user: dict[str] = self._current_data["user"] - self.register_time: int = user["registerTime"] + self.register_time = datetime.fromtimestamp(user["registerTime"]) self.introduction: str = user["introduction"] self.prize = [self.Prize(**prize) for prize in user["prize"]] self.blog_address: str = user["blogAddress"] @@ -191,7 +193,7 @@ class Attachment(Model): :var str download_link: 下载链接 :var int size: 大小 - :var int upload_time: 上传时间 + :var datetime.datetime upload_time: 上传时间 :var str id: ID :var str filename: 文件名 """ @@ -206,7 +208,7 @@ def __init__( ) -> None: self.download_link = downloadLink self.size = size - self.upload_time = uploadTime + self.upload_time = datetime.fromtimestamp(uploadTime) self.id = id self.filename = filename diff --git a/src/luogu/models/paste.py b/src/luogu/models/paste.py index 9f3d9ad..2604d0a 100644 --- a/src/luogu/models/paste.py +++ b/src/luogu/models/paste.py @@ -1,3 +1,5 @@ +from datetime import datetime + from ..utils import cached_method from . import Model from .main import User @@ -11,7 +13,7 @@ class Paste(Model): :var str data: 内容 :var str id: 剪贴板 ID :var User user: 用户 - :var int time: 时间 + :var datetime.datetime time: 时间 :var bool public: 是否公开 """ @@ -24,7 +26,7 @@ def __init__(self, id: str) -> None: self.data: str = paste["data"] self.id: str = paste["id"] self._user: dict[str] = paste["user"] - self.time: int = paste["time"] + self.time = datetime.fromtimestamp(paste["time"]) self.public: bool = paste["public"] @property diff --git a/tests/__main__.py b/tests/__main__.py index 9cd68a8..3f57042 100644 --- a/tests/__main__.py +++ b/tests/__main__.py @@ -1,5 +1,6 @@ import os import unittest +from datetime import datetime from time import sleep import luogu @@ -26,6 +27,8 @@ def test_equal(self): def test_kkksc03(self): u = luogu.User(1) + self.assertIsInstance(u.register_time, datetime) + self.assertEqual(u.register_time.year, 2012) self.assertIn(luogu.User.Prize(2019, "CSP入门", "一等奖"), u.prize) self.assertEqual(u.uid, 1) self.assertEqual(u.name, "kkksc03") @@ -34,6 +37,8 @@ def test_kkksc03(self): def test_wangxinhe(self): u = luogu.User(108135) + self.assertIsInstance(u.register_time, datetime) + self.assertEqual(u.register_time.year, 2018) self.assertIsInstance(u.prize, list) self.assertEqual(u.uid, 108135) self.assertEqual(u.name, "wangxinhe")