PeterDing / BaiduPCS-Py

BaiduPCS API & App 百度网盘客户端 和 API
MIT License
698 stars 113 forks source link

某些用户存在Products中name为None条目,导致显示出问题 #30

Closed AlexGuo1998 closed 3 years ago

AlexGuo1998 commented 3 years ago

Describe the bug / 描述 bug 添加某用户后,BaiduPCS-Py userlist 输出 AttributeError: 'NoneType' object has no attribute 'startswith',其余用户管理指令(userdelsu)也无法使用

To Reproduce / 复现问题

  1. BaiduPCS-Py useradd ...
  2. BaiduPCS-Py userlist

Screenshots / 问题截图 N/A

Envrionment / 运行环境

Runing log / 运行日志

2021-03-19 01:13:15,178 | DEBUG | app: `app`: System Error: Traceback (most recent call last):
  File "/home/alex/miniconda3/lib/python3.8/site-packages/baidupcs_py/app/app.py", line 101, in wrap
    return func(*args, **kwargs)
  File "/home/alex/miniconda3/lib/python3.8/site-packages/baidupcs_py/app/app.py", line 427, in userlist
    display_user_infos(*ls, recent_user_id=am._who)
  File "/home/alex/miniconda3/lib/python3.8/site-packages/baidupcs_py/commands/display.py", line 408, in display_user_infos
    if p.name.startswith("svip2_nd"):
AttributeError: 'NoneType' object has no attribute 'startswith'

Additional context / 补充内容baidupcs_py/commands/display.pydisplay_user_infos https://github.com/PeterDing/BaiduPCS-Py/blob/6fe1f214dee8d567e042f746bb2bf0969e8ad42c/baidupcs_py/commands/display.py#L405-L413

>>> print(products)
[
    PcsUserProduct(name='offlinedl_permanent', start_time=1613264983, end_time=2147483648),
    PcsUserProduct(name=None, start_time=1615737599, end_time=1616342399),
    PcsUserProduct(name='svip2_nd', start_time=1615737599, end_time=1626278399),
    PcsUserProduct(name='contentvip_nd', start_time=1615737599, end_time=1626278399)
]

应该是第二项导致出错,临时解决方案是在407行插入

if p.name is None:
    continue
PeterDing commented 3 years ago

已经在 v0.6.14 中修复。