Skip to content

Commit 007de00

Browse files
committed
Return datetime instead of int
1 parent aab0843 commit 007de00

File tree

5 files changed

+27
-8
lines changed

5 files changed

+27
-8
lines changed

docs/reference.rst

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,22 @@
1111
.. autoclass:: luogu.Paste
1212
:members:
1313

14+
.. versionchanged:: 0.1
15+
变量 *time* 的类型自 :class:`int` 改为 :class:`datetime.datetime`
16+
1417
.. autoclass:: luogu.Problem
15-
:members:
18+
19+
.. autoclass:: luogu.Problem.Attachment
20+
21+
.. versionchanged:: 0.1
22+
变量 *upload_time* 的类型自 :class:`int` 改为 :class:`datetime.datetime`
1623

1724
.. autoclass:: luogu.User
1825
:members:
1926

27+
.. versionchanged:: 0.1
28+
变量 *register_time* 的类型自 :class:`int` 改为 :class:`datetime.datetime`
29+
2030

2131
会话
2232
====

src/luogu/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from .models.paste import Paste
1313
from .session import Session
1414

15-
__version__ = "0.0.2"
15+
__version__ = "0.1.0"
1616

1717
__all__ = (
1818
"AccessDeniedHttpException",

src/luogu/models/main.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from datetime import datetime
2+
13
from ..utils import LazyList, cached_method
24
from . import Model
35

@@ -10,7 +12,7 @@ class User(Model):
1012
1113
:raises NotFoundHttpException: 用户未找到
1214
13-
:var int register_time: 注册时间
15+
:var datetime.datetime register_time: 注册时间
1416
:var str introduction: 个人介绍
1517
:var list[Prize] prize: 获奖信息
1618
:var str blog_address: 个人博客地址
@@ -58,7 +60,7 @@ def __init__(self, uid: "int | str") -> None:
5860
)["currentData"]
5961

6062
user: dict[str] = self._current_data["user"]
61-
self.register_time: int = user["registerTime"]
63+
self.register_time = datetime.fromtimestamp(user["registerTime"])
6264
self.introduction: str = user["introduction"]
6365
self.prize = [self.Prize(**prize) for prize in user["prize"]]
6466
self.blog_address: str = user["blogAddress"]
@@ -191,7 +193,7 @@ class Attachment(Model):
191193
192194
:var str download_link: 下载链接
193195
:var int size: 大小
194-
:var int upload_time: 上传时间
196+
:var datetime.datetime upload_time: 上传时间
195197
:var str id: ID
196198
:var str filename: 文件名
197199
"""
@@ -206,7 +208,7 @@ def __init__(
206208
) -> None:
207209
self.download_link = downloadLink
208210
self.size = size
209-
self.upload_time = uploadTime
211+
self.upload_time = datetime.fromtimestamp(uploadTime)
210212
self.id = id
211213
self.filename = filename
212214

src/luogu/models/paste.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from datetime import datetime
2+
13
from ..utils import cached_method
24
from . import Model
35
from .main import User
@@ -11,7 +13,7 @@ class Paste(Model):
1113
:var str data: 内容
1214
:var str id: 剪贴板 ID
1315
:var User user: 用户
14-
:var int time: 时间
16+
:var datetime.datetime time: 时间
1517
:var bool public: 是否公开
1618
"""
1719

@@ -24,7 +26,7 @@ def __init__(self, id: str) -> None:
2426
self.data: str = paste["data"]
2527
self.id: str = paste["id"]
2628
self._user: dict[str] = paste["user"]
27-
self.time: int = paste["time"]
29+
self.time = datetime.fromtimestamp(paste["time"])
2830
self.public: bool = paste["public"]
2931

3032
@property

tests/__main__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import unittest
3+
from datetime import datetime
34
from time import sleep
45

56
import luogu
@@ -26,6 +27,8 @@ def test_equal(self):
2627

2728
def test_kkksc03(self):
2829
u = luogu.User(1)
30+
self.assertIsInstance(u.register_time, datetime)
31+
self.assertEqual(u.register_time.year, 2012)
2932
self.assertIn(luogu.User.Prize(2019, "CSP入门", "一等奖"), u.prize)
3033
self.assertEqual(u.uid, 1)
3134
self.assertEqual(u.name, "kkksc03")
@@ -34,6 +37,8 @@ def test_kkksc03(self):
3437

3538
def test_wangxinhe(self):
3639
u = luogu.User(108135)
40+
self.assertIsInstance(u.register_time, datetime)
41+
self.assertEqual(u.register_time.year, 2018)
3742
self.assertIsInstance(u.prize, list)
3843
self.assertEqual(u.uid, 108135)
3944
self.assertEqual(u.name, "wangxinhe")

0 commit comments

Comments
 (0)