diff --git a/app/plugins/personmeta/__init__.py b/app/plugins/personmeta/__init__.py index a8b05892..8080c1cf 100644 --- a/app/plugins/personmeta/__init__.py +++ b/app/plugins/personmeta/__init__.py @@ -517,7 +517,10 @@ class PersonMeta(_PluginBase): # "饰 詹姆斯·邦德 James Bond 007" character = re.sub(r"饰\s+", "", douban_actor.get("character")) - ret_people["Role"] = character + character = re.sub("演员", "", + character) + if character: + ret_people["Role"] = character updated_name = True # 图片 if douban_actor.get("avatar", {}).get("large"): diff --git a/app/plugins/webhook/__init__.py b/app/plugins/webhook/__init__.py index 2e724061..917e9e1e 100644 --- a/app/plugins/webhook/__init__.py +++ b/app/plugins/webhook/__init__.py @@ -137,13 +137,27 @@ class WebHook(_PluginBase): return def __to_dict(_event): - result = {} - for key, value in _event.items(): - if hasattr(value, 'to_dict'): - result[key] = value.to_dict() - else: - result[key] = str(value) - return result + """ + 递归将对象转换为字典 + """ + if isinstance(_event, dict): + for k, v in _event.items(): + _event[k] = __to_dict(v) + return _event + elif isinstance(_event, list): + for i in range(len(_event)): + _event[i] = __to_dict(_event[i]) + return _event + elif isinstance(_event, tuple): + return tuple(__to_dict(list(_event))) + elif isinstance(_event, set): + return set(__to_dict(list(_event))) + elif isinstance(_event, frozenset): + return frozenset(__to_dict(list(_event))) + elif isinstance(_event, (int, float, str, bool, type(None))): + return _event + elif hasattr(_event, '__dict__'): + return _event.__dict__ event_info = { "type": event.event_type,