完善收藏的类型转换体系
This commit is contained in:
parent
c870b04dd9
commit
9acdb94c07
@ -5,6 +5,8 @@
|
|||||||
# Author: xaoyaoo
|
# Author: xaoyaoo
|
||||||
# Date: 2024/05/18
|
# Date: 2024/05/18
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
from .dbbase import DatabaseBase
|
from .dbbase import DatabaseBase
|
||||||
from .utils import timestamp2str, xml2dict
|
from .utils import timestamp2str, xml2dict
|
||||||
|
|
||||||
@ -133,7 +135,7 @@ class FavoriteHandler(DatabaseBase):
|
|||||||
pf.columns = FavItemsFields.keys() # set column names
|
pf.columns = FavItemsFields.keys() # set column names
|
||||||
pf["UpdateTime"] = pf["UpdateTime"].apply(timestamp2str) # 处理时间
|
pf["UpdateTime"] = pf["UpdateTime"].apply(timestamp2str) # 处理时间
|
||||||
pf["XmlBuf"] = pf["XmlBuf"].apply(xml2dict) # 处理xml
|
pf["XmlBuf"] = pf["XmlBuf"].apply(xml2dict) # 处理xml
|
||||||
pf["TypeName"] = pf["Type"].apply(FavoriteTypeId2Name) # 添加类型名称列
|
pf["TypeName"] = pf["Type"].apply(Favorite_type_converter) # 添加类型名称列
|
||||||
pf["FavData"] = pf["FavLocalID"].apply(lambda x: FavDataDict.get(x, [])) # 添加数据列
|
pf["FavData"] = pf["FavLocalID"].apply(lambda x: FavDataDict.get(x, [])) # 添加数据列
|
||||||
pf["Tags"] = pf["FavLocalID"].apply(lambda x: FavTagsDict.get(x, [])) # 添加标签列
|
pf["Tags"] = pf["FavLocalID"].apply(lambda x: FavTagsDict.get(x, [])) # 添加标签列
|
||||||
pf = pf.fillna("") # 去掉Nan
|
pf = pf.fillna("") # 去掉Nan
|
||||||
@ -141,8 +143,15 @@ class FavoriteHandler(DatabaseBase):
|
|||||||
return rdata
|
return rdata
|
||||||
|
|
||||||
|
|
||||||
def FavoriteTypeId2Name(Type):
|
def Favorite_type_converter(type_id_or_name: [str, int]):
|
||||||
TypeNameDict = {
|
"""
|
||||||
|
收藏类型ID与名称转换
|
||||||
|
名称(str)=>ID(int)
|
||||||
|
ID(int)=>名称(str)
|
||||||
|
:param type_id_or_name: 消息类型ID或名称
|
||||||
|
:return: 消息类型名称或ID
|
||||||
|
"""
|
||||||
|
type_name_dict = defaultdict(lambda: "未知", {
|
||||||
1: "文本", # 文本 已测试
|
1: "文本", # 文本 已测试
|
||||||
2: "图片", # 图片 已测试
|
2: "图片", # 图片 已测试
|
||||||
3: "语音", # 语音
|
3: "语音", # 语音
|
||||||
@ -154,5 +163,11 @@ def FavoriteTypeId2Name(Type):
|
|||||||
14: "聊天记录", # 聊天记录 已测试
|
14: "聊天记录", # 聊天记录 已测试
|
||||||
16: "群聊视频", # 群聊中的视频 可能
|
16: "群聊视频", # 群聊中的视频 可能
|
||||||
18: "笔记" # 笔记 已测试
|
18: "笔记" # 笔记 已测试
|
||||||
}
|
})
|
||||||
return TypeNameDict.get(Type, "未知")
|
|
||||||
|
if isinstance(type_id_or_name, int):
|
||||||
|
return type_name_dict[type_id_or_name]
|
||||||
|
elif isinstance(type_id_or_name, str):
|
||||||
|
return next((k for k, v in type_name_dict.items() if v == type_id_or_name), (0, 0))
|
||||||
|
else:
|
||||||
|
raise ValueError("Invalid input type")
|
||||||
|
Loading…
Reference in New Issue
Block a user