PyNGA Package¶
High-level API¶
PyNGA¶
-
class
pynga.
NGA
(authentication=None, max_retries=5, timeout=5, max_workers=1)[source]¶ NGA 基础类.
Parameters: - authentication (dict) – 登陆信息, 支持的 key 包括 uid, username, cid. 其中 cid 为必须的 key, uid 和 username 至少需要指定一个.
- max_retries (int) – 最大重试次数. 默认: 5.
- timeout (int) – 超时时间, 以秒为单位. 默认: 5.
- max_workers (int) – 并行度. 默认: 1.
-
Forum
[source]¶ 定义一个版面.
Parameters: - fid (int) – 版面的 FID.
- page_limit (int) – 最大页面数量. 默认: 20.
Returns: 定义的版面对象.
Return type:
Forum¶
-
class
pynga.forum.
Forum
(fid, session=None, page_limit=20)[source]¶ NGA 版面基础类.
Parameters: - fid (int) – 版面 FID.
- session (
Session
) – 获取数据所使用的 session. - page_limit (int) – 最大页面数量. 默认: 20.
-
page_limit
¶ int – 最大页面数量.
-
threads
¶ 获取当前版面的帖子, 按照发帖时间降序排列.
Returns: 当前版面的帖子. 最多不超过 page_limit
.Return type: OrderedDict(tid, Thread
)
-
class
pynga.forum.
SubForum
(stid, session=None, page_limit=20)[source]¶ NGA 合集基础类.
Parameters: - fid (int) – 版面 FID.
- session (
Session
) – 获取数据所使用的 session. - page_limit (int) – 最大页面数量. 默认: 20.
-
page_limit
¶ int – 最大页面数量.
-
threads
¶ 获取当前合集的帖子, 按照发帖时间降序排列.
Returns: 当前版面的帖子. 最多不超过 page_limit
.Return type: OrderedDict(tid, Thread
)
Thread¶
-
class
pynga.thread.
Thread
(tid, session=None, page_limit=inf)[source]¶ NGA 帖子基础类.
Parameters: - tid (int) – 帖子的 TID.
- session (
Session
) – 获取数据所使用的 session. - page_limit (int) – 最大页面数量. 默认: 无限.
-
alterinfo
¶ 获取帖子的修改/加分/处罚信息.
Returns: 该帖子的所有修改/加分/处罚信息. Return type: list of dict
-
attachments
¶ 获取帖子的附件.
Returns: Return type: list of dict
-
content
¶ 获取帖子的内容.
注意: 只有主楼的内容会被返回.
Return type: str
-
move
(target_forum, pm=True, pm_message='', push=True)[source]¶ 移动帖子.
注意: 需要 Moderator 权限.
Parameters: - target_forum (
Forum
) – 帖子将要移动的目标版面. - pm (bool) – 是否 PM. 默认: True.
- pm_message (str) – PM 消息内容. 默认: 空字符串.
- push (bool) – 是否提前帖子. 默认: True.
Returns: 服务器返回的 JSON, 以 dict 的形式
Return type: dict.
- target_forum (
-
n_pages
¶ 获取帖子的总页数.
Return type: int
-
subject
¶ 获取帖子的标题.
Return type: str
Post¶
-
class
pynga.post.
Post
(pid=None, session=None)[source]¶ NGA 回复基础类.
如果一个回复不存在 PID, 则定义其为未知回复(例如: 贴条). 其 PID 定义为 None
Parameters: - pid (int) – 回复的 PID. 默认: None.
- session (
Session
) – 获取数据所使用的 session.
-
add_point
(value, info='', options=None)[source]¶ 回复加分.
Parameters: - value (int) – 加分声望值.
- info (str) – 加分说明. 默认: 空字符串.
- options (list of str) – 加分相关选项. 可选项包括: 增加/扣除金钱, 增加威望, 给作者发送PM, 主题加入精华区. 默认: None
-
alterinfo
¶ 获取回复的修改/加分/处罚信息.
Returns: 该回复的所有修改/加分/处罚信息. Return type: list of dict
-
attachments
¶ 获取回复的附件.
Returns: Return type: list of dict
-
content
¶ 获取回复的内容.
Return type: str
-
fid
¶ 获取回复对应的帖子的版面的 FID.
Return type: int
-
subject
¶ 获取回复的标题.
Return type: str
-
tid
¶ 获取回复对应的帖子的 TID.
Return type: int
User¶
-
class
pynga.user.
User
(uid=None, username=None, session=None)[source]¶ NGA 用户基础类.
支持根据 UID 或用户名来指定用户. 如果二者都没有进行指定, 则定义为匿名用户. 匿名用户的 UID 和用户名定义为 None, 反之亦然.
Parameters: - uid (int) – 用户的 UID. 默认: None.
- username (str) – 用户的用户名. 默认: None.
- session (
Session
) – 获取数据所使用的 session.
-
buy_item
(item_id)[source]¶ 从系统商店购买物品.
Parameters: item_id (int.) – 购买的物品 ID. Returns: 服务器返回的 JSON, 以 dict 的形式. Return type: dict
-
get_admin_log
(type=None)[source]¶ 获取当前用户的操作记录.
Parameters: type (str) – 操作记录类型名称. Yields: AdminLog
. – 操作记录对象.
-
is_anonymous
¶ 获取用户的匿名状态.
Return type: bool
-
register_date
¶ 获取用户的注册日期及时间.
Return type: datetime
-
sign
¶ 获取用户的签名.
也可以通过 setter 来设置签名.
Return type: str
Low-level API¶
Session¶
-
class
pynga.session.
Session
(authentication=None, max_retries=5, timeout=5, max_workers=1)[source]¶ NGA Session 基础类.
Parameters: - authentication (dict) – 登陆信息, 支持的 key 包括 uid, username, cid. 其中 cid 为必须的 key, uid 和 username 至少需要指定一个.
- max_retries (int) – 最大重试次数. 默认: 5.
- timeout (int) – 超时时间, 以秒为单位. 默认: 5.
- max_workers (int) – 并行度. 默认: 1.
AdminLog¶
-
class
pynga.user.
AdminLog
(data, admin_log_type_mapper=None)[source]¶ NGA 操作记录基础类.
Parameters: - data (str or dict) – 操作记录 JSON, 以 str 或 dict 的形式.
- admin_log_type_mapper (dict) – 操作记录映射表, 一般由服务器提供.
-
log_id
¶ 操作记录 ID.
Return type: int
-
message
¶ 操作信息.
Return type: str
-
source_uid
¶ 操作人 UID.
Return type: int
-
target_uid
¶ 被操作人 UID.
Return type: int
-
tid
¶ 操作记录对应的 TID.
Return type: int
-
time
¶ 操作时间.
Return type: datetime
-
type
¶ 操作记录类型.
Return type: str