refactor: convert isinstance chains to match/case syntax (#36862)

Co-authored-by: krishkantiuj-ren <hiccup.cc.3@gmail.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
This commit is contained in:
krishkantiuj-ren 2026-06-01 11:45:19 +08:00 committed by GitHub
parent 240912cef5
commit de47d43b65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 30 additions and 25 deletions

View File

@ -209,14 +209,16 @@ class AppQueueManager(ABC):
def _check_for_sqlalchemy_models(self, data: Any):
# from entity to dict or list
if isinstance(data, dict):
for value in data.values():
self._check_for_sqlalchemy_models(value)
elif isinstance(data, list):
for item in data:
self._check_for_sqlalchemy_models(item)
else:
if isinstance(data, DeclarativeMeta) or hasattr(data, "_sa_instance_state"):
raise TypeError(
"Critical Error: Passing SQLAlchemy Model instances that cause thread safety issues is not allowed."
)
match data:
case dict():
for value in data.values():
self._check_for_sqlalchemy_models(value)
case list():
for item in data:
self._check_for_sqlalchemy_models(item)
case _:
if isinstance(data, DeclarativeMeta) or hasattr(data, "_sa_instance_state"):
raise TypeError(
"Critical Error: Passing SQLAlchemy Model instances that"
" cause thread safety issues is not allowed."
)

View File

@ -1525,16 +1525,18 @@ class DatasetRetrieval:
filters.append(json_field.like(f"%{escaped_value}", escape="\\"))
case "is" | "=":
if isinstance(value, str):
filters.append(json_field == value)
elif isinstance(value, (int, float)):
filters.append(DatasetDocument.doc_metadata[metadata_name].as_float() == value)
match value:
case str():
filters.append(json_field == value)
case int() | float():
filters.append(DatasetDocument.doc_metadata[metadata_name].as_float() == value)
case "is not" | "":
if isinstance(value, str):
filters.append(json_field != value)
elif isinstance(value, (int, float)):
filters.append(DatasetDocument.doc_metadata[metadata_name].as_float() != value)
match value:
case str():
filters.append(json_field != value)
case int() | float():
filters.append(DatasetDocument.doc_metadata[metadata_name].as_float() != value)
case "empty":
filters.append(DatasetDocument.doc_metadata[metadata_name].is_(None))
@ -1707,12 +1709,13 @@ class DatasetRetrieval:
usage = None
for result in invoke_result:
text = result.delta.message.content
if isinstance(text, str):
full_text += text
elif isinstance(text, list):
for i in text:
if i.data:
full_text += i.data
match text:
case str():
full_text += text
case list():
for i in text:
if i.data:
full_text += i.data
if not model:
model = result.model