diff --git a/app/DataBase/merge.py b/app/DataBase/merge.py index 7679821..c3aa63a 100644 --- a/app/DataBase/merge.py +++ b/app/DataBase/merge.py @@ -13,7 +13,7 @@ def merge_databases(source_paths, target_path): if not os.path.exists(source_path): break db = sqlite3.connect(source_path) - db.text_factory = bytes + # db.text_factory = bytes cursor = db.cursor() sql = ''' SELECT TalkerId,MsgsvrID,Type,SubType,IsSender,CreateTime,Sequence,StrTalker,StrContent,DisplayContent,BytesExtra diff --git a/app/DataBase/msg.py b/app/DataBase/msg.py index 580d6e8..6d8c66d 100644 --- a/app/DataBase/msg.py +++ b/app/DataBase/msg.py @@ -231,4 +231,4 @@ if __name__ == '__main__': pprint(msg.get_message_by_num('wxid_0o18ef858vnu22', local_id)) print(msg.get_messages_by_keyword(wxid, '干嘛')) pprint(msg.get_messages_by_keyword(wxid, '干嘛')[0]) - print(msg.get_first_time_of_message('wxid_0o18ef858vnu22')) + print(msg.get_first_time_of_message('wxid_fervbwign7m822')) diff --git a/app/DataBase/output_pc.py b/app/DataBase/output_pc.py index 77f0adf..76dc719 100644 --- a/app/DataBase/output_pc.py +++ b/app/DataBase/output_pc.py @@ -890,7 +890,7 @@ const chatMessages = [ if match: continue image_path = hard_link_db.get_image(content=str_content, thumb=False) - image_path = path.get_relative_path(image_path, base_path=f'./data/聊天记录/{self.contact.remark}/image') + image_path = path.get_relative_path(image_path, base_path=f'/data/聊天记录/{self.contact.remark}/image') image_path = image_path.replace('\\', '/') # print(f"tohtml:---{image_path}") if self.is_5_min(timestamp): diff --git a/app/analysis/analysis.py b/app/analysis/analysis.py index 263eb48..56aba51 100644 --- a/app/analysis/analysis.py +++ b/app/analysis/analysis.py @@ -19,6 +19,13 @@ wordcloud_height = 720 def wordcloud(wxid): import jieba txt_messages = msg_db.get_messages_by_type(wxid, MsgType.TEXT) + if not txt_messages: + return { + 'chart_data': None, + 'keyword': "没有聊天你想分析啥", + 'max_num': "0", + 'dialogs': [] + } text = ''.join(map(lambda x: x[7], txt_messages)) total_msg_len = len(text) # 使用jieba进行分词,并加入停用词 diff --git a/app/util/dat2pic.py b/app/util/dat2pic.py index 9c7df78..7a36d9c 100644 --- a/app/util/dat2pic.py +++ b/app/util/dat2pic.py @@ -50,14 +50,15 @@ def decode_dat(file_path, out_path): if decode_code == -1: return + filename = os.path.basename(file_path) if file_type == 1: pic_name = os.path.basename(file_path)[:-4] + ".jpg" elif file_type == 3: - pic_name = file_path[:-4] + ".png" + pic_name = filename[:-4] + ".png" elif file_type == 5: - pic_name = file_path[:-4] + ".gif" + pic_name = filename[:-4] + ".gif" else: - pic_name = file_path[:-4] + ".jpg" + pic_name = filename[:-4] + ".jpg" file_outpath = os.path.join(out_path, pic_name) if os.path.exists(file_outpath): return file_outpath diff --git a/app/web_ui/web.py b/app/web_ui/web.py index 7ed6d70..5a5c7a6 100644 --- a/app/web_ui/web.py +++ b/app/web_ui/web.py @@ -43,7 +43,7 @@ def index0(): def home(): try: first_message, first_time = msg_db.get_first_time_of_message(contact.wxid) - except IndexError: + except TypeError: return set_text('咱就是说,一次都没聊过就别分析了') data = { 'sub_title': '二零二三年度报告',