Revert changes to search_tags in favor of changes from #604

This commit is contained in:
Jann Stute
2024-11-30 12:07:08 +01:00
parent 6fb1d4bff7
commit d9da558458
3 changed files with 11 additions and 18 deletions

View File

@@ -38,7 +38,7 @@ from ...constants import (
)
from ...enums import LibraryPrefs
from .db import make_tables
from .enums import FieldTypeEnum, FilterState, TagColor, TagFilterState
from .enums import FieldTypeEnum, FilterState, TagColor
from .fields import (
BaseField,
DatetimeField,
@@ -489,7 +489,7 @@ class Library:
def search_tags(
self,
filter_state: TagFilterState,
name: str,
) -> list[Tag]:
"""Return a list of Tag records matching the query."""
with Session(self.engine) as session:
@@ -499,11 +499,11 @@ class Library:
selectinload(Tag.aliases),
)
if filter_state.search:
if name:
query = query.where(
or_(
Tag.name.icontains(filter_state.search),
Tag.shorthand.icontains(filter_state.search),
Tag.name.icontains(name),
Tag.shorthand.icontains(name),
)
)
@@ -513,7 +513,7 @@ class Library:
logger.info(
"searching tags",
search=filter_state,
search=name,
statement=str(query),
results=len(res),
)

View File

@@ -12,7 +12,6 @@ from PySide6.QtWidgets import (
QWidget,
)
from src.core.library import Library, Tag
from src.core.library.alchemy.enums import TagFilterState
from src.qt.modals.build_tag import BuildTagPanel
from src.qt.widgets.panel import PanelModal, PanelWidget
from src.qt.widgets.tag import TagWidget
@@ -70,9 +69,9 @@ class TagDatabasePanel(PanelWidget):
while self.scroll_layout.itemAt(0):
self.scroll_layout.takeAt(0).widget().deleteLater()
tags = self.lib.search_tags(TagFilterState(search=query, page_size=self.tag_limit))
tags_results = self.lib.search_tags(name=query)
for tag in tags:
for tag in tags_results:
container = QWidget()
row = QHBoxLayout(container)
row.setContentsMargins(0, 0, 0, 0)

View File

@@ -17,7 +17,6 @@ from PySide6.QtWidgets import (
QWidget,
)
from src.core.library import Library
from src.core.library.alchemy.enums import TagFilterState
from src.core.palette import ColorType, get_tag_color
from src.qt.widgets.panel import PanelWidget
from src.qt.widgets.tag import TagWidget
@@ -73,18 +72,13 @@ class TagSearchPanel(PanelWidget):
self.search_field.setFocus()
self.parentWidget().hide()
def update_tags(self, name: str | None = None):
def update_tags(self, query: str | None = None):
while self.scroll_layout.count():
self.scroll_layout.takeAt(0).widget().deleteLater()
found_tags = self.lib.search_tags(
TagFilterState(
search=name,
page_size=self.tag_limit,
)
)
tag_results = self.lib.search_tags(name=query)
for tag in found_tags:
for tag in tag_results:
if self.exclude is not None and tag.id in self.exclude:
continue
c = QWidget()