Skip to content

Commit

Permalink
Return datetime instead of int
Browse files Browse the repository at this point in the history
  • Loading branch information
wxh06 committed May 8, 2022
1 parent aab0843 commit 007de00
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 8 deletions.
12 changes: 11 additions & 1 deletion docs/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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`


会话
====
Expand Down
2 changes: 1 addition & 1 deletion src/luogu/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from .models.paste import Paste
from .session import Session

__version__ = "0.0.2"
__version__ = "0.1.0"

__all__ = (
"AccessDeniedHttpException",
Expand Down
10 changes: 6 additions & 4 deletions src/luogu/models/main.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from datetime import datetime

from ..utils import LazyList, cached_method
from . import Model

Expand All @@ -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: 个人博客地址
Expand Down Expand Up @@ -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"]
Expand Down Expand Up @@ -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: 文件名
"""
Expand All @@ -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

Expand Down
6 changes: 4 additions & 2 deletions src/luogu/models/paste.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from datetime import datetime

from ..utils import cached_method
from . import Model
from .main import User
Expand All @@ -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: 是否公开
"""

Expand All @@ -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
Expand Down
5 changes: 5 additions & 0 deletions tests/__main__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
import unittest
from datetime import datetime
from time import sleep

import luogu
Expand All @@ -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")
Expand All @@ -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")
Expand Down

0 comments on commit 007de00

Please sign in to comment.