UnisKB/apps/application/flow/compare/not_contain_compare.py

27 lines
747 B
Python
Raw Normal View History

2025-05-27 10:24:28 +00:00
# coding=utf-8
"""
@project: maxkb
@Author
@file contain_compare.py
@date2024/6/11 10:02
@desc:
"""
from typing import List
2025-09-16 07:49:49 +00:00
from application.flow.compare import Compare
2025-05-27 10:24:28 +00:00
class NotContainCompare(Compare):
def support(self, node_id, fields: List[str], source_value, compare, target_value):
if compare == 'not_contain':
return True
def compare(self, source_value, compare, target_value):
if isinstance(source_value, str):
return str(target_value) not in source_value
elif isinstance(self, list):
return not any([str(item) == str(target_value) for item in source_value])
else:
return str(target_value) not in str(source_value)