From a661b3ae3b5f6d41cd4d0b7d333285079d9905f9 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 7 May 2025 00:43:29 +0800 Subject: feat: :art: update rules structure to use a dictionary for improved organization --- src/conventionalrp/core/parser.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/conventionalrp/core/parser.py b/src/conventionalrp/core/parser.py index a3dd947..68344de 100644 --- a/src/conventionalrp/core/parser.py +++ b/src/conventionalrp/core/parser.py @@ -5,7 +5,7 @@ from typing import List, Dict, Optional class Parser: def __init__(self): - self.rules = [] + self.rules: Dict[str, List[Dict]] = {} def load_rules(self, rules_path: str): """Load parsing rules.""" @@ -17,10 +17,8 @@ class Parser: rules = json5.loads(file_content) - # validation rule format if rules is None: raise ValueError(f"Rule file cannot be empty.") - # to be continue... self.rules = rules print(f"Rules loaded: {rules}\n") @@ -73,6 +71,8 @@ class Parser: def _match_metadata(self, line: str) -> Optional[Dict]: """Match metadata line.""" metadata_rule = self.rules.get("metadata") + if isinstance(metadata_rule, list) and metadata_rule: + metadata_rule = metadata_rule[0] if not metadata_rule: return None -- cgit v1.2.3-70-g09d2