fixed + completed type hints

This commit is contained in:
2024-04-12 23:33:09 +02:00
parent 30339f0ece
commit cce7e96779
8 changed files with 77 additions and 53 deletions

View File

@@ -7,7 +7,9 @@ from bs4 import BeautifulSoup
if TYPE_CHECKING:
from io import TextIOWrapper
class XMLLoader:
@staticmethod
def load(file_: TextIOWrapper) -> dict:
schema = {}
bs = BeautifulSoup(file_.read(), "xml")
@@ -19,10 +21,12 @@ class XMLLoader:
schema["structures"] = structures
return schema
@staticmethod
def parseStructure(structElmt: any) -> dict:
struct = {}
struct["bits"] = structElmt.get("bits")
struct = {
"bits": structElmt.get("bits")
}
ranges = {}
rangeElmts = structElmt.findAll("range")
for rangeElmt in rangeElmts:
@@ -32,11 +36,14 @@ class XMLLoader:
struct["ranges"] = ranges
return struct
@staticmethod
def parseRange(rangeElmt: any) -> dict:
range_ = {}
range_["name"] = rangeElmt.get("name")
range_ = {
"name": rangeElmt.get("name")
}
desc = rangeElmt.find("description")
if desc is not None: range_["description"] = desc.getText()
if desc is not None:
range_["description"] = desc.getText()
valuesElmt = rangeElmt.find("values")
if valuesElmt is not None:
@@ -47,6 +54,7 @@ class XMLLoader:
return range_
@staticmethod
def parseValues(valuesElmt: any) -> dict:
values = {}
caseElmts = valuesElmt.findAll("case")
@@ -64,4 +72,4 @@ class XMLLoader:
else:
values[val] = desc
return values
return values