mirror of
https://github.com/LC044/WeChatMsg
synced 2025-04-11 17:28:01 +08:00
67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
@Time : 2025/4/1 20:31
|
|
@Author : SiYuan
|
|
@Email : 863909694@qq.com
|
|
@File : wxManager-audio2text.py
|
|
@Description :
|
|
"""
|
|
|
|
import os
|
|
import sqlite3
|
|
import traceback
|
|
|
|
from wxManager.merge import increase_update_data, increase_data
|
|
from wxManager.model.db_model import DataBaseBase
|
|
|
|
|
|
class Audio2TextDB(DataBaseBase):
|
|
def create(self):
|
|
sql = '''
|
|
CREATE TABLE IF NOT EXISTS Audio2Text (
|
|
ID INTEGER PRIMARY KEY,
|
|
msgSvrId INTEGER UNIQUE,
|
|
Text TEXT NOT NULL
|
|
);
|
|
'''
|
|
cursor = self.DB.cursor()
|
|
cursor.execute(sql)
|
|
# 创建索引
|
|
cursor.execute('''CREATE UNIQUE INDEX IF NOT EXISTS idx_msg_id ON Audio2Text (msgSvrId);''')
|
|
self.commit()
|
|
|
|
def get_audio_text(self, server_id):
|
|
sql = '''select text from Audio2Text where msgSvrId=?'''
|
|
cursor = self.DB.cursor()
|
|
cursor.execute(sql, [server_id])
|
|
result = cursor.fetchone()
|
|
if result:
|
|
return result[0]
|
|
else:
|
|
return ''
|
|
|
|
def add_text(self, server_id, text):
|
|
try:
|
|
cursor = self.DB.cursor()
|
|
sql = '''INSERT INTO Audio2Text (msgSvrId, Text) VALUES (?, ?)'''
|
|
cursor.execute(sql, [server_id, text])
|
|
self.commit()
|
|
return True
|
|
except sqlite3.IntegrityError:
|
|
return False
|
|
except:
|
|
return False
|
|
|
|
def merge(self, db_path):
|
|
if not (os.path.exists(db_path) or os.path.isfile(db_path)):
|
|
print(f'{db_path} 不存在')
|
|
return
|
|
try:
|
|
# 获取列名
|
|
increase_data(db_path, self.cursor, self.DB, 'Audio2Text', 'msgSvrId')
|
|
except:
|
|
print(f"数据库操作错误: {traceback.format_exc()}")
|
|
self.DB.rollback()
|