mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-02-03 06:13:31 +00:00
Avoid Mypy error during lint
This commit is contained in:
parent
3e5427e31e
commit
cf55918a6f
15
setup.py
15
setup.py
@ -93,6 +93,8 @@ def _get_class_info_from_source(source: str) -> Tuple[str, Optional[str]]:
|
||||
base = class_def.bases[0]
|
||||
if isinstance(base, ast.Name):
|
||||
parent_class = base.id
|
||||
elif isinstance(base, ast.Subscript):
|
||||
parent_class = base.value.id
|
||||
else:
|
||||
# NOTE: SSZ definition derives from earlier phase...
|
||||
# e.g. `phase0.SignedBeaconBlock`
|
||||
@ -216,10 +218,19 @@ def get_spec(file_name: Path, preset: Dict[str, str], config: Dict[str, str], pr
|
||||
class_name, parent_class = _get_class_info_from_source(source)
|
||||
# check consistency with spec
|
||||
assert class_name == current_name
|
||||
ignore_type = False
|
||||
if parent_class:
|
||||
assert parent_class == "Container"
|
||||
if parent_class == "Container":
|
||||
pass
|
||||
elif parent_class == "Vector":
|
||||
ignore_type = True # Avoid Mypy error: Invalid base class "Vector"
|
||||
else:
|
||||
raise Exception("unrecognized parent class: " + source)
|
||||
# NOTE: trim whitespace from spec
|
||||
ssz_objects[current_name] = "\n".join(line.rstrip() for line in source.splitlines())
|
||||
lines = [line.rstrip() for line in source.splitlines()]
|
||||
if ignore_type:
|
||||
lines[0] += " # type: ignore"
|
||||
ssz_objects[current_name] = "\n".join(lines)
|
||||
else:
|
||||
raise Exception("unrecognized python code element: " + source)
|
||||
elif isinstance(child, Table):
|
||||
|
Loading…
x
Reference in New Issue
Block a user