changeset b695bc24e503 in trytond:6.2 details: https://hg.tryton.org/trytond?cmd=changeset&node=b695bc24e503 description: Do not expand boolean PYSON when using __and__ and __or__
It is not expected that the left operand is modified by such operations. issue11836 review418551003 (grafted from 4da4f8a946ad698feac01663778495d92c992588) diffstat: trytond/pyson.py | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diffs (23 lines): diff -r 91fef3f2153d -r b695bc24e503 trytond/pyson.py --- a/trytond/pyson.py Sat Nov 05 17:08:22 2022 +0100 +++ b/trytond/pyson.py Sat Nov 05 09:51:17 2022 +0100 @@ -31,8 +31,7 @@ other = Bool(other) if (isinstance(self, And) and not isinstance(self, Or)): - self._statements.append(other) - return self + return And(*self._statements, other) if self.types() != {bool}: return And(Bool(self), other) else: @@ -45,8 +44,7 @@ and other.types() != {bool}): other = Bool(other) if isinstance(self, Or): - self._statements.append(other) - return self + return Or(*self._statements, other) if self.types() != {bool}: return Or(Bool(self), other) else: