A bunch of changes

This commit is contained in:
Ignacio Serantes
2026-03-23 22:50:02 +01:00
parent 547bfbf760
commit 291f2f9e47
8 changed files with 401 additions and 250 deletions

View File

@@ -36,18 +36,14 @@ from PySide6.QtGui import QImage, QImageReader, QImageIOHandler
from constants import (
APP_CONFIG, CACHE_PATH, CACHE_MAX_SIZE, CONFIG_DIR, DISK_CACHE_MAX_BYTES,
IMAGE_EXTENSIONS, SEARCH_CMD, THUMBNAIL_SIZES, RATING_XATTR_NAME, XATTR_NAME,
UITexts, SCANNER_SETTINGS_DEFAULTS
UITexts, SCANNER_SETTINGS_DEFAULTS, HAVE_BAGHEERASEARCH_LIB
)
from imageviewer import ImageViewer
from metadatamanager import XattrManager
try:
# Attempt to import bagheerasearch for direct integration
if HAVE_BAGHEERASEARCH_LIB:
from bagheera_search_lib import BagheeraSearcher
HAVE_BAGHEERASEARCH_LIB = True
except ImportError:
HAVE_BAGHEERASEARCH_LIB = False
# Set up logging for better debugging
logger = logging.getLogger(__name__)
@@ -130,6 +126,10 @@ class CacheWriter(QThread):
if not self._running:
return
# Ensure we don't accept new items if stopping, especially when block=False
if not self._running:
return
# --- Soft Cleaning: Deduplication ---
# Remove redundant pending updates for the same image/size (e.g.
# rapid rotations)
@@ -154,7 +154,7 @@ class CacheWriter(QThread):
def stop(self):
self._mutex.lock()
self._running = False
self._queue.clear()
# Do not clear the queue here; let the run loop drain it to prevent data loss.
self._condition_new_data.wakeAll()
self._condition_space_available.wakeAll()
self._mutex.unlock()