aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/parsing.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-11-11 01:12:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-01-14 22:36:08 +0800
commita5c2f62b0b3c4ec6ce46c57bcd99319a85900798 (patch)
tree0cb89834a1ed32bdf20597309c78c3a5cbca3c88 /tools/cru-py/cru/parsing.py
parentb9788b23bbd000d2a2d14402b4e2abacd5a57365 (diff)
downloadcrupest-a5c2f62b0b3c4ec6ce46c57bcd99319a85900798.tar.gz
crupest-a5c2f62b0b3c4ec6ce46c57bcd99319a85900798.tar.bz2
crupest-a5c2f62b0b3c4ec6ce46c57bcd99319a85900798.zip
HALF WORK: 2024.1.14
Diffstat (limited to 'tools/cru-py/cru/parsing.py')
-rw-r--r--tools/cru-py/cru/parsing.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/tools/cru-py/cru/parsing.py b/tools/cru-py/cru/parsing.py
index 598a2bb..1d2fa7f 100644
--- a/tools/cru-py/cru/parsing.py
+++ b/tools/cru-py/cru/parsing.py
@@ -9,7 +9,7 @@ from ._iter import CruIterable
_T = TypeVar("_T")
-class ParseException(CruException, Generic[_T]):
+class ParseError(CruException, Generic[_T]):
def __init__(
self,
message,
@@ -53,16 +53,16 @@ class Parser(Generic[_T], metaclass=ABCMeta):
self, text: str, line_number: int | None = None
) -> NoReturn:
a = line_number and f" at line {line_number}" or ""
- raise ParseException(f"Parser {self.name} failed{a}.", self, text, line_number)
+ raise ParseError(f"Parser {self.name} failed{a}.", self, text, line_number)
-class SimpleLineConfigParserItem(NamedTuple):
+class SimpleLineConfigParserEntry(NamedTuple):
key: str
value: str
line_number: int | None = None
-class SimpleLineConfigParserResult(CruIterable.IterList[SimpleLineConfigParserItem]):
+class SimpleLineConfigParserResult(CruIterable.IterList[SimpleLineConfigParserEntry]):
pass
@@ -71,13 +71,13 @@ class SimpleLineConfigParser(Parser[SimpleLineConfigParserResult]):
The parsing result is a list of tuples (key, value, line number).
"""
- Item: TypeAlias = SimpleLineConfigParserItem
+ Entry: TypeAlias = SimpleLineConfigParserEntry
Result: TypeAlias = SimpleLineConfigParserResult
def __init__(self) -> None:
super().__init__(type(self).__name__)
- def _parse(self, text: str, callback: Callable[[Item], None]) -> None:
+ def _parse(self, text: str, callback: Callable[[Entry], None]) -> None:
for ln, line in enumerate(text.splitlines()):
line_number = ln + 1
# check if it's a comment
@@ -90,7 +90,7 @@ class SimpleLineConfigParser(Parser[SimpleLineConfigParserResult]):
key, value = line.split("=", 1)
key = key.strip()
value = value.strip()
- callback(SimpleLineConfigParserItem(key, value, line_number))
+ callback(SimpleLineConfigParserEntry(key, value, line_number))
def parse(self, text: str) -> Result:
result = SimpleLineConfigParserResult()