Skip to content

Commit

Permalink
fix: provide functions that return raw
Browse files Browse the repository at this point in the history
  • Loading branch information
Nemo2011 committed Feb 18, 2025
1 parent ac17e9b commit 8797a00
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 22 deletions.
23 changes: 23 additions & 0 deletions bilibili_api/black_room.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,27 @@ async def get_next_jury_case(credential: Credential) -> JuryCase:
)


async def get_jury_case_raw(
credential: Credential, pn: int = 1, ps: int = 20
) -> dict:
"""
获取仲裁案件列表
Args:
credential (Credential): 凭据类
pn (int, optional): 页数. Defaults to 1.
ps (int, optional): 每页数量. Defaults to 20.
Returns:
dict: 调用 API 返回的结果
"""
api = API["jury"]["case_list"]
params = {"pn": pn, "ps": ps}
return await Api(**api, credential=credential).update_params(**params).result


async def get_jury_case_list(
credential: Credential, pn: int = 1, ps: int = 20
) -> List[JuryCase]:
Expand All @@ -357,4 +378,6 @@ async def get_jury_case_list(
api = API["jury"]["case_list"]
params = {"pn": pn, "ps": ps}
info = await Api(**api, credential=credential).update_params(**params).result
if info["list"] is None:
return []
return [JuryCase(case["case_id"], credential) for case in info["list"]]
6 changes: 3 additions & 3 deletions bilibili_api/data/api/black-room.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"black_room": {
"info": {
"url": "https://api.bilibili.com/x/credit/blocked/list",
"method": "GET",
"method": "GET",
"verify": false,
"params": {
"btype": "int: 违规来源",
Expand All @@ -13,7 +13,7 @@
},
"detail": {
"url": "https://api.bilibili.com/x/credit/blocked/info",
"method": "GET",
"method": "GET",
"verify": false,
"params": {
"id": "小黑屋 id"
Expand Down Expand Up @@ -63,7 +63,7 @@
"comment": "进行仲裁投票"
},
"case_list": {
"url": "https://api.bilibili.com/x/credit/v2/jury/case/list?pn=1&ps=20",
"url": "https://api.bilibili.com/x/credit/v2/jury/case/list",
"method": "GET",
"verify": true,
"params": {
Expand Down
57 changes: 53 additions & 4 deletions bilibili_api/dynamic.py
Original file line number Diff line number Diff line change
Expand Up @@ -767,9 +767,7 @@ async def get_info(self) -> dict:
cache_pool.article2dynamic[
cache_pool.dynamic2article[self.__dynamic_id]
] = self.__dynamic_id
module_dynamic = self.__detail["item"]["modules"][
"module_dynamic"
]
module_dynamic = self.__detail["item"]["modules"]["module_dynamic"]
if module_dynamic.get("major") is None:
cache_pool.dynamic_is_opus[self.__dynamic_id] = False
else:
Expand Down Expand Up @@ -1161,14 +1159,65 @@ async def get_dynamic_page_info(
features: str = "itemOpusStyle",
pn: int = 1,
offset: Optional[int] = None,
) -> List[Dynamic]:
) -> dict:
"""
获取动态页动态信息
获取全部动态或者相应类型需传入 _type
获取指定 UP 主动态需传入 host_mid
Args:
credential (Credential): 凭据类.
_type (DynamicType, optional): 动态类型. Defaults to DynamicType.ALL.
host_mid (int, optional): 获取对应 UP 主动态的 mid. Defaults to None.
features (str, optional): 默认 itemOpusStyle.
pn (int, optional): 页码. Defaults to 1.
offset (int, optional): 偏移值(下一页的第一个动态 ID,为该请求结果中的 offset 键对应的值),类似单向链表. Defaults to None.
Returns:
dict: 调用 API 返回的结果
"""

api = API["info"]["dynamic_page_info"]
params = {
"timezone_offset": -480,
"features": features,
"page": pn,
}
params.update({"offset": offset} if offset else {})
if _type: # 全部动态
params["type"] = _type.value
elif host_mid: # 指定 UP 主动态
params["host_mid"] = host_mid
elif not _type:
api["params"].pop("type")
elif not host_mid:
api["params"].pop("host_mid")

return await Api(**api, credential=credential).update_params(**params).result


async def get_dynamic_page_list(
credential: Credential,
_type: Optional[DynamicType] = None,
host_mid: Optional[int] = None,
features: str = "itemOpusStyle",
pn: int = 1,
offset: Optional[int] = None,
) -> List[Dynamic]:
"""
获取动态页动态列表
获取全部动态或者相应类型需传入 _type
获取指定 UP 主动态需传入 host_mid
Args:
credential (Credential): 凭据类.
Expand Down
22 changes: 11 additions & 11 deletions bilibili_api/utils/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def __init__(self) -> None:
)
self.logger.addHandler(handler)
self.__on = False
self.__on_events = [
self.__on_events: List[str] = [
"API_REQUEST",
"API_RESPONSE",
"ANTI_SPIDER",
Expand All @@ -69,42 +69,42 @@ def __init__(self) -> None:
"WS_SEND",
"WS_CLOSE",
]
self.__ignore_events = []
self.__ignore_events: List[str] = []
self.add_event_listener("__ALL__", self.__handle_events)

def get_on_events(self) -> dict:
def get_on_events(self) -> List[str]:
"""
获取日志输出支持的事件类型
Returns:
dict: 日志输出支持的事件类型
List[str]: 日志输出支持的事件类型
"""
return self.__on_events

def set_on_events(self, events: dict) -> None:
def set_on_events(self, events: List[str]) -> None:
"""
设置日志输出支持的事件类型
Args:
events (dict): 日志输出支持的事件类型
events (List[str]): 日志输出支持的事件类型
"""
self.__on_events = events

def get_ignore_events(self) -> dict:
def get_ignore_events(self) -> List[str]:
"""
获取日志输出排除的事件类型
Returns:
dict: 日志输出排除的事件类型
List[str]: 日志输出排除的事件类型
"""
return self.__ignore_events

def set_ignore_events(self, events: dict) -> None:
def set_ignore_events(self, events: List[str]) -> None:
"""
设置日志输出排除的事件类型
Args:
events (dict): 日志输出排除的事件类型
events (List[str]): 日志输出排除的事件类型
"""
self.__ignore_events = events

Expand Down Expand Up @@ -261,7 +261,7 @@ def get(self, name: str) -> Any:
"""
return self.__settings[name]

def set(self, name: str, value: str) -> Any:
def set(self, name: str, value: Any) -> None:
"""
设置某项设置
Expand Down
8 changes: 4 additions & 4 deletions docs/modules/bilibili_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1582,7 +1582,7 @@ async def handle(desc: str, data: dict) -> None:



**Returns:** `dict`: 日志输出排除的事件类型
**Returns:** `List[str]`: 日志输出排除的事件类型



Expand All @@ -1593,7 +1593,7 @@ async def handle(desc: str, data: dict) -> None:



**Returns:** `dict`: 日志输出支持的事件类型
**Returns:** `List[str]`: 日志输出支持的事件类型



Expand All @@ -1616,7 +1616,7 @@ async def handle(desc: str, data: dict) -> None:

| name | type | description |
| - | - | - |
| `events` | `Dict` | 日志输出排除的事件类型 |
| `events` | `List[str]` | 日志输出排除的事件类型 |



Expand All @@ -1640,7 +1640,7 @@ async def handle(desc: str, data: dict) -> None:

| name | type | description |
| - | - | - |
| `events` | `Dict` | 日志输出支持的事件类型 |
| `events` | `List[str]` | 日志输出支持的事件类型 |



Expand Down
19 changes: 19 additions & 0 deletions docs/modules/black_room.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ from bilibili_api import black_room
- [class JuryVoteOpinion()](#class-JuryVoteOpinion)
- [async def get\_blocked\_list()](#async-def-get\_blocked\_list)
- [async def get\_jury\_case\_list()](#async-def-get\_jury\_case\_list)
- [async def get\_jury\_case\_raw()](#async-def-get\_jury\_case\_raw)
- [async def get\_next\_jury\_case()](#async-def-get\_next\_jury\_case)

---
Expand Down Expand Up @@ -294,6 +295,24 @@ from bilibili_api import black_room



---

## async def get_jury_case_raw()

获取仲裁案件列表


| name | type | description |
| - | - | - |
| `credential` | `Credential` | 凭据类 |
| `pn` | `int, optional` | 页数. Defaults to 1. |
| `ps` | `int, optional` | 每页数量. Defaults to 20. |

**Returns:** `dict`: 调用 API 返回的结果




---

## async def get_next_jury_case()
Expand Down
26 changes: 26 additions & 0 deletions docs/modules/dynamic.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ from bilibili_api import dynamic
- [async def delete\_schedule()](#async-def-delete\_schedule)
- [async def get\_dynamic\_page\_UPs\_info()](#async-def-get\_dynamic\_page\_UPs\_info)
- [async def get\_dynamic\_page\_info()](#async-def-get\_dynamic\_page\_info)
- [async def get\_dynamic\_page\_list()](#async-def-get\_dynamic\_page\_list)
- [async def get\_live\_users()](#async-def-get\_live\_users)
- [async def get\_new\_dynamic\_users()](#async-def-get\_new\_dynamic\_users)
- [async def get\_schedules\_list()](#async-def-get\_schedules\_list)
Expand Down Expand Up @@ -627,6 +628,31 @@ scene 参数
获取指定 UP 主动态需传入 host_mid


| name | type | description |
| - | - | - |
| `credential` | `Credential` | 凭据类. |
| `_type` | `DynamicType, optional` | 动态类型. Defaults to DynamicType.ALL. |
| `host_mid` | `int, optional` | 获取对应 UP 主动态的 mid. Defaults to None. |
| `features` | `str, optional` | 默认 itemOpusStyle. |
| `pn` | `int, optional` | 页码. Defaults to 1. |
| `offset` | `int, optional` | 偏移值(下一页的第一个动态 ID,为该请求结果中的 offset 键对应的值),类似单向链表. Defaults to None. |

**Returns:** `dict`: 调用 API 返回的结果




---

## async def get_dynamic_page_list()

获取动态页动态列表

获取全部动态或者相应类型需传入 _type

获取指定 UP 主动态需传入 host_mid


| name | type | description |
| - | - | - |
| `credential` | `Credential` | 凭据类. |
Expand Down

0 comments on commit 8797a00

Please sign in to comment.