# -*- coding: utf-8 -*- # @Time : 2023/7/20 16:27 # @Author : XuJiakai # @File : company_court_open_announcement # @Software: PyCharm import os from data_clean.dim_handle_registry import DimHandleRegistry from data_clean.exception.exception_handle import exception_handle from data_clean.exception.ruler_validation_exception import RulerValidationException from data_clean.utils.str_utils import json_str_2_list # 必须命名为dim_handle dim_handle = DimHandleRegistry(os.path.basename(__file__)) @dim_handle.registry_prefix_func @exception_handle async def prefix_func(dim_data: list): print("前置程序:", dim_data) pass @dim_handle.registry_postfix_func() @exception_handle async def post_func(dim_data: list): print("后置程序") pass @dim_handle.registry_row_func @exception_handle async def party_intersect(row_data: dict) -> dict: plaintiff_info = json_str_2_list(row_data['plaintiff_info'], "name") defendant_info = json_str_2_list(row_data['defendant_info'], "name") inter = list(set(plaintiff_info).intersection(set(defendant_info))) if len(inter) == 0: return row_data else: raise RulerValidationException("ccoa_001", "当事人有交叉:%s" % inter) pass