mirror of
https://github.com/LC044/WeChatMsg
synced 2025-04-19 02:08:05 +08:00
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
|
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 []
|