2025-05-27 10:24:28 +00:00
|
|
|
|
# coding=utf-8
|
|
|
|
|
|
"""
|
|
|
|
|
|
@project: maxkb
|
|
|
|
|
|
@Author:虎
|
|
|
|
|
|
@file: contain_compare.py
|
|
|
|
|
|
@date:2024/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
|
2025-10-28 10:32:11 +00:00
|
|
|
|
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)
|