From 45d502f4c0d37aad1f9f76d054478978fe46ce60 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Fri, 3 Jan 2025 10:16:37 -0800 Subject: [PATCH] fix: catch int cast exception --- tagstudio/src/core/library/alchemy/visitors.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tagstudio/src/core/library/alchemy/visitors.py b/tagstudio/src/core/library/alchemy/visitors.py index 3117b5ae..401086bc 100644 --- a/tagstudio/src/core/library/alchemy/visitors.py +++ b/tagstudio/src/core/library/alchemy/visitors.py @@ -51,12 +51,18 @@ class SQLBoolExpressionBuilder(BaseVisitor[ColumnExpressionArgument]): tag_ids: list[int] = [] bool_expressions: list[ColumnExpressionArgument] = [] - # Search for TagID / unambigous Tag Constraints and store the respective tag ids seperately + # Search for TagID / unambiguous Tag Constraints and store the respective tag ids separately for term in node.terms: if isinstance(term, Constraint) and len(term.properties) == 0: match term.type: case ConstraintType.TagID: - tag_ids.append(int(term.value)) + try: + tag_ids.append(int(term.value)) + except ValueError: + logger.error( + "[SQLBoolExpressionBuilder] Could not cast value to an int Tag ID", + value=term.value, + ) continue case ConstraintType.Tag: if len(ids := self.__get_tag_ids(term.value)) == 1: