diff options
| author | 2025-05-07 00:43:29 +0800 | |
|---|---|---|
| committer | 2025-05-07 00:43:29 +0800 | |
| commit | a661b3ae3b5f6d41cd4d0b7d333285079d9905f9 (patch) | |
| tree | b84c81f874742bb99e90fa41bf444203e79f0071 /src | |
| parent | 013fc7460e77799825b8ae5aff9a4e59feec6453 (diff) | |
| download | conventional_role_play-a661b3ae3b5f6d41cd4d0b7d333285079d9905f9.tar.gz conventional_role_play-a661b3ae3b5f6d41cd4d0b7d333285079d9905f9.zip | |
feat: :art: update rules structure to use a dictionary for improved organization
Diffstat (limited to 'src')
| -rw-r--r-- | src/conventionalrp/core/parser.py | 6 |
1 files changed, 3 insertions, 3 deletions
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 |
