contain_compare.py 744 B

1234567891011121314151617181920212223242526
  1. # coding=utf-8
  2. """
  3. @project: maxkb
  4. @Author:虎
  5. @file: contain_compare.py
  6. @date:2024/6/11 10:02
  7. @desc:
  8. """
  9. from typing import List
  10. from application.flow.compare.compare import Compare
  11. class ContainCompare(Compare):
  12. def support(self, node_id, fields: List[str], source_value, compare, target_value):
  13. if compare == 'contain':
  14. return True
  15. def compare(self, source_value, compare, target_value):
  16. if isinstance(source_value, str):
  17. return str(target_value) in source_value
  18. elif isinstance(source_value, list):
  19. return any([str(item) == str(target_value) for item in source_value])
  20. else:
  21. return str(target_value) in str(source_value)