parser_factory.py 860 B

123456789101112131415161718192021222324252627282930
  1. from ccb_parser import CCBFlowParser
  2. from boc_parser import BOCFlowParser
  3. from abc_parser import ABCFlowParser
  4. class ParserFactory:
  5. """银行流水解析器工厂类"""
  6. def __init__(self):
  7. self.parsers = {
  8. "建设银行": CCBFlowParser(),
  9. "中国银行": BOCFlowParser(),
  10. "农业银行": ABCFlowParser()
  11. }
  12. def get_parser(self, bank_name):
  13. """根据银行名称获取对应的解析器"""
  14. for key, parser in self.parsers.items():
  15. if key in bank_name:
  16. return parser
  17. return None
  18. def add_parser(self, bank_name, parser):
  19. """添加新的银行解析器"""
  20. self.parsers[bank_name] = parser
  21. def get_supported_banks(self):
  22. """获取支持的银行列表"""
  23. return list(self.parsers.keys())