chat: added functions msg_in_cache() and msg_in_db(), also tests
This commit is contained in:
+25
-1
@@ -6,7 +6,7 @@ from pathlib import Path
|
||||
from pprint import PrettyPrinter
|
||||
from pydoc import pager
|
||||
from dataclasses import dataclass
|
||||
from typing import TypeVar, Type, Optional, ClassVar, Any, Callable, Literal
|
||||
from typing import TypeVar, Type, Optional, ClassVar, Any, Callable, Literal, Union
|
||||
from .configuration import default_config_file
|
||||
from .message import Message, MessageFilter, MessageError, message_in
|
||||
from .tags import Tag
|
||||
@@ -466,6 +466,30 @@ class ChatDB(Chat):
|
||||
return m
|
||||
return None
|
||||
|
||||
def msg_in_cache(self, message: Union[Message, str]) -> bool:
|
||||
"""
|
||||
Return true if the given Message (or filename or Message.msg_id())
|
||||
is located in the cache directory. False otherwise.
|
||||
"""
|
||||
if isinstance(message, Message):
|
||||
return (message.file_path is not None
|
||||
and message.file_path.parent.samefile(self.cache_path) # noqa: W503
|
||||
and message.file_path.exists()) # noqa: W503
|
||||
else:
|
||||
return len(self.msg_find([message], loc='cache')) > 0
|
||||
|
||||
def msg_in_db(self, message: Union[Message, str]) -> bool:
|
||||
"""
|
||||
Return true if the given Message (or filename or Message.msg_id())
|
||||
is located in the DB directory. False otherwise.
|
||||
"""
|
||||
if isinstance(message, Message):
|
||||
return (message.file_path is not None
|
||||
and message.file_path.parent.samefile(self.db_path) # noqa: W503
|
||||
and message.file_path.exists()) # noqa: W503
|
||||
else:
|
||||
return len(self.msg_find([message], loc='db')) > 0
|
||||
|
||||
def cache_read(self) -> None:
|
||||
"""
|
||||
Read messages from the cache directory. New ones are added to the internal list,
|
||||
|
||||
Reference in New Issue
Block a user