import re class CheckData: """检查数据文本内容""" __bidding_title_set = {'招标', '流标', '评标', '询价', '中标候选人', '抽签', '谈判', '中选', '意见征询', '更正公告', '废标', '补遗', '议价', '邀请', '资格预审', '竞标', '变更', '遴选', '磋商', '项目', '评审', '询比', '开标', '澄清', '比选', '中止', '采购', '竟价', '招投标', '拟建', '成交', '中标', '竞争性谈判', '工程', '验收公告', '更正', '单一来源', '变更公告', '合同', '违规', '评判', '监理', '竞价', '答疑', '终止', '系统'} __bidding_channel_set = {"通知公告", "公告公示"} __plan_to_build_title_set = {'项目', '工程', '验收', '评价', '设计', '调查', '审核', '审批', '批复', '批后', '批前', '核准', '备案', '立项', '规划设计', '环评', } __plan_to_build_channel_set = {"通知公告", "公示公告", "部门文件", "发布公示", "公告信息", "公示公开", "公开公示", "公示通知", "公示信息", "公告信息", "公示专区", "公告专区", "公司公告", "公司通知", "公司新闻", "其他公示", "通知公示", "最新公告", "最新公示", "最新资讯"} @classmethod def title(cls, name: str, group=None): check_texts = cls.__bidding_title_set if group and group.lower() in ["njpc", "plan_to_build"]: check_texts = cls.__plan_to_build_title_set for text in check_texts: valid_text = re.search(text, name) if valid_text is not None: break else: return 10106, '标题未检索到采集关键词' return 200, 'ok' @classmethod def channel(cls, name: str, group=None): check_texts = cls.__bidding_channel_set if group and group.lower() in ["njpc", "plan_to_build"]: check_texts = cls.__plan_to_build_channel_set for text in check_texts: valid_text = re.search(text, name) if valid_text is not None: break else: return False return True