mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-27 12:12:57 +00:00
27 lines
744 B
Python
27 lines
744 B
Python
# coding=utf-8
|
||
"""
|
||
@project: maxkb
|
||
@Author:虎
|
||
@file: contain_compare.py
|
||
@date:2024/6/11 10:02
|
||
@desc:
|
||
"""
|
||
from typing import List
|
||
|
||
from application.flow.compare.compare import Compare
|
||
|
||
|
||
class ContainCompare(Compare):
|
||
|
||
def support(self, node_id, fields: List[str], source_value, compare, target_value):
|
||
if compare == 'contain':
|
||
return True
|
||
|
||
def compare(self, source_value, compare, target_value):
|
||
if isinstance(source_value, str):
|
||
return str(target_value) in source_value
|
||
elif isinstance(source_value, list):
|
||
return any([str(item) == str(target_value) for item in source_value])
|
||
else:
|
||
return str(target_value) in str(source_value)
|