WeChatMsg/wxManager/db_v3/favorite.py

38 lines
1.0 KiB
Python
Raw Normal View History

2025-03-28 21:29:18 +08:00
import os.path
import sqlite3
import threading
from datetime import date
from typing import Tuple
from wxManager.db_v3.msg import convert_to_timestamp
lock = threading.Lock()
DB = None
cursor = None
db_path = '.'
class Favorite:
def get_items(self, time_range: Tuple[int | float | str | date, int | float | str | date] = None, ):
if time_range:
start_time, end_time = convert_to_timestamp(time_range)
sql = f'''
select FavLocalID, Type, FromUser, RealChatName, SearchKey, UpdateTime, XmlBuf
from FavItems
where StrTalker=?
{'AND UpdateTime>' + str(start_time) + ' AND UpdateTime<' + str(end_time) if time_range else ''}
order by UpdateTime
'''
res = []
try:
lock.acquire(True)
self.cursor.execute(sql)
res = self.cursor.fechall()
self.DB.commit()
except:
res = []
finally:
lock.release()
return res if res else []