Some typing fixups
This commit is contained in:
@@ -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())
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user