fixed + completed type hints
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user