init rep
This commit is contained in:
81
modules/parser_adapters/base_adapter.py
Normal file
81
modules/parser_adapters/base_adapter.py
Normal file
@@ -0,0 +1,81 @@
|
||||
# @line_count 100
|
||||
"""JSON解析器适配器基类"""
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import List, Dict, Any
|
||||
|
||||
|
||||
class BaseParserAdapter(ABC):
|
||||
"""解析器适配器抽象基类"""
|
||||
|
||||
def __init__(self, data: Dict[str, Any]):
|
||||
"""
|
||||
初始化适配器
|
||||
|
||||
Args:
|
||||
data: 解析后的JSON数据
|
||||
"""
|
||||
self.data = data
|
||||
|
||||
@abstractmethod
|
||||
def extract_function_points(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
提取功能点列表
|
||||
|
||||
Returns:
|
||||
功能点列表,统一格式:
|
||||
- module_name: 所属模块
|
||||
- function_name: 功能名称
|
||||
- description: 功能描述
|
||||
- operation_steps: 操作步骤(可选)
|
||||
- requirement_id: 需求编号(可选)
|
||||
- requirement_type: 需求类型(可选)
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_document_info(self) -> Dict[str, Any]:
|
||||
"""
|
||||
获取文档基本信息
|
||||
|
||||
Returns:
|
||||
文档信息字典,统一格式:
|
||||
- title: 文档标题
|
||||
- version: 版本(可选)
|
||||
- date: 日期(可选)
|
||||
- section_count: 章节数量
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_sections(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
获取所有章节信息
|
||||
|
||||
Returns:
|
||||
章节列表
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_module_summary(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
获取模块摘要
|
||||
|
||||
Returns:
|
||||
模块摘要列表
|
||||
"""
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def can_parse(data: Dict[str, Any]) -> bool:
|
||||
"""
|
||||
检测是否能解析该格式
|
||||
|
||||
Args:
|
||||
data: JSON数据
|
||||
|
||||
Returns:
|
||||
是否能解析
|
||||
"""
|
||||
pass
|
||||
Reference in New Issue
Block a user