Some typing fixups

This commit is contained in:
Salad Dais
2025-06-14 07:06:18 +00:00
parent 22fb44ef28
commit 8effd431a6
2 changed files with 4 additions and 4 deletions

View File

@@ -163,9 +163,9 @@ class InventoryBase(SchemaBase):
writer.write("\t{\n")
# Make sure the ID field always comes first, if there is one.
fields_dict = {}
fields_dict: Dict[str, dataclasses.Field] = {}
if hasattr(self, "ID_ATTR"):
fields_dict = {getattr(self, "ID_ATTR"): None}
fields_dict = {getattr(self, "ID_ATTR"): dataclasses.field()}
# update()ing will put all fields that aren't yet in the dict after the ID attr.
fields_dict.update(self._get_fields_dict())

View File

@@ -164,7 +164,7 @@ def parse_schema_line(line: str):
@dataclasses.dataclass
class SchemaBase(abc.ABC):
@classmethod
def _get_fields_dict(cls, llsd_flavor: Optional[str] = None):
def _get_fields_dict(cls, llsd_flavor: Optional[str] = None) -> Dict[str, dataclasses.Field]:
fields_dict = {}
for field in dataclasses.fields(cls):
field_name = field.name
@@ -193,7 +193,7 @@ class SchemaBase(abc.ABC):
try:
for key, val in inv_dict.items():
if key in fields:
field: dataclasses.Field = fields[key]
field = fields[key]
key = field.name
spec = field.metadata.get("spec")
# Not a real key, an internal var on our dataclass