Skip to content

Commit

Permalink
style: fix lint errors
Browse files Browse the repository at this point in the history
  • Loading branch information
knopki committed Apr 11, 2024
1 parent 2ccdacb commit d5d26a9
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 23 deletions.
3 changes: 2 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ max-complexity = 16
# B = bugbear
# B9 = bugbear opinionated (incl line length)
select = C,E,F,W,B,B9
# B905 `zip()` without an explicit `strict=` parameter
# E203: whitespace before ':' (black behaviour)
# E501: flake8 line length (covered by bugbear B950)
# W503: line break before binary operator (black behaviour)
ignore = E203,E501,W503
ignore = B905,E203,E501,W503
classmethod-decorators =
classmethod
validator
Expand Down
40 changes: 21 additions & 19 deletions pytopas/ast.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"Syntax tree"
# pylint: disable=too-many-lines
# pylint: disable=too-many-lines,cyclic-import

from __future__ import annotations

Expand Down Expand Up @@ -744,6 +744,7 @@ def get_parser(cls):

@classmethod
def unparse_args(cls, args: list[FormulaNode | str | None | TextNode]):
"Reconstruct args"
result = []
for x in args:
if isinstance(x, BaseNode):
Expand All @@ -763,6 +764,7 @@ def serialize(self) -> NodeSerialized:

@classmethod
def unserialize_args(cls, data: list[Any]):
"Reconstruct args"
kinds = (cls.formula_cls, cls.text_cls)
return [
(
Expand Down Expand Up @@ -1209,7 +1211,7 @@ def unserialize(cls, data: list[Any]):
if typ != cls.type:
raise ReconstructException(f"assert data[0] == {cls.type}", data)
if not isinstance(value, (int, list)):
raise ReconstructException(f"assert isinstance(data[1], int)", data)
raise ReconstructException("assert isinstance(data[1], int)", data)
return cls(
value if isinstance(value, int) else ParameterNameNode.unserialize(value)
)
Expand Down Expand Up @@ -1253,7 +1255,7 @@ def unparse(self) -> str:
result = self.type
if self.filename:
filename_dbl_quote_esc = self.filename.replace('"', r"\"")
result += f' "{filename_dbl_quote_esc}"'
result += f" {filename_dbl_quote_esc!r}"
if self.filename is None and self.inline_data:
in_parts = (["_xy"] if self.inline_data_xy else []) + list(
map(str, self.inline_data)
Expand Down Expand Up @@ -1304,10 +1306,10 @@ def unserialize(cls, data: list[Any]):
raise ReconstructException(f"assert data[0] == {cls.type}", data)
opts = data[1]
if not isinstance(opts, dict):
raise ReconstructException(f"assert isinstance(data[1], dict)", data)
raise ReconstructException("assert isinstance(data[1], dict)", data)
flags = data[2] if len(data) > 2 else []
if not isinstance(flags, list):
raise ReconstructException(f"assert isinstance(data[2], list)", data)
raise ReconstructException("assert isinstance(data[2], list)", data)

return cls(
filename=opts.get("filename"),
Expand Down Expand Up @@ -1349,9 +1351,9 @@ def parse_action(cls, toks: pp.ParseResults):
filament_length=toks.filament_length, # type: ignore[assigment]
sample_length=toks.sample_length, # type: ignore[assigment]
receiving_slit_length=toks.receiving_slit_length, # type: ignore[assigment]
primary_soller_angle=data.get("primary_soller_angle"), # type: ignore[assigment]
secondary_soller_angle=data.get("secondary_soller_angle"), # type: ignore[assigment]
axial_n_beta=data.get("axial_n_beta"), # type: ignore[assigment]
primary_soller_angle=data.get("primary_soller_angle"),
secondary_soller_angle=data.get("secondary_soller_angle"),
axial_n_beta=data.get("axial_n_beta"),
)

@classmethod
Expand Down Expand Up @@ -1396,12 +1398,12 @@ def unserialize(cls, data: list[Any]):
raise ReconstructException(f"assert data[0] == {cls.type}", data)
args = data[1]
if not isinstance(args, list):
raise ReconstructException(f"assert isinstance(data[1], list)", data)
raise ReconstructException("assert isinstance(data[1], list)", data)
if len(args) != 3:
raise ReconstructException(f"assert len(data[1]) == 3", data)
raise ReconstructException("assert len(data[1]) == 3", data)
opts = data[2] if len(data) > 2 else {}
if not isinstance(opts, dict):
raise ReconstructException(f"assert isinstance(data[2], dict)", data)
raise ReconstructException("assert isinstance(data[2], dict)", data)

return cls(
filament_length=cls.parameter_cls.unserialize(args[0]),
Expand All @@ -1428,7 +1430,7 @@ class BkgNode(BaseNode):
@classmethod
def parse_action(cls, toks: pp.ParseResults):
"Parse action for the bkg node"
return cls(params=(toks.as_list()))
return cls(params=toks.as_list())

@classmethod
def get_parser(cls):
Expand All @@ -1447,8 +1449,8 @@ def unserialize(cls, data: list[Any]):
raise ReconstructException("assert len >= 2", data)
if data[0] != cls.type:
raise ReconstructException(f"assert data[0] == {cls.type}", data)
if not all([isinstance(x, list) for x in data[1:]]):
raise ReconstructException(f"assert all of data[1:] of list type", data)
if not all(isinstance(x, list) for x in data[1:]):
raise ReconstructException("assert all of data[1:] of list type", data)
return cls(params=[cls.parameter_cls.unserialize(x) for x in data[1:]])


Expand All @@ -1461,7 +1463,7 @@ class ScaleNode(BaseNode):
@classmethod
def parse_action(cls, toks: pp.ParseResults):
"Parse action for the bkg node"
return cls(param=(toks.as_list()[0]))
return cls(param=toks.as_list()[0])

@classmethod
def get_parser(cls):
Expand All @@ -1480,7 +1482,7 @@ def unserialize(cls, data: list[Any]):
if data[0] != cls.type:
raise ReconstructException(f"assert data[0] == {cls.type}", data)
if not isinstance(data[1], list):
raise ReconstructException(f"assert isinstance(data[1], list)", data)
raise ReconstructException("assert isinstance(data[1], list)", data)
return cls(param=cls.parameter_cls.unserialize(data[1]))


Expand Down Expand Up @@ -1574,11 +1576,11 @@ def unserialize(cls, data: list[Any]):
if data[0] != cls.type:
raise ReconstructException(f"assert data[0] == {cls.type}", data)
if not isinstance(data[1], str):
raise ReconstructException(f"assert type of data[1] == str", data)
raise ReconstructException("assert type of data[1] == str", data)
if not isinstance(data[2], list):
raise ReconstructException(f"assert type of data[2] == list", data)
raise ReconstructException("assert type of data[2] == list", data)
if not isinstance(data[3], list):
raise ReconstructException(f"assert type of data[3] == list", data)
raise ReconstructException("assert type of data[3] == list", data)

stmts = [
(
Expand Down
4 changes: 1 addition & 3 deletions tests/grammar/test_grammar_root.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,7 @@
ast.RootNode(
statements=[
ast.ScaleNode(
ast.ParameterNode(
prm_value=ast.ParameterValueNode(Decimal(1))
)
ast.ParameterNode(prm_value=ast.ParameterValueNode(Decimal(1)))
)
]
)
Expand Down

0 comments on commit d5d26a9

Please sign in to comment.