Use boolean_value() for 'and' and 'or' operators
This commit is contained in:
parent
ad41660f9e
commit
9e2e5d45e3
|
@ -2,8 +2,10 @@
|
|||
CHANGELOG
|
||||
*********
|
||||
|
||||
`v1.3.0`_ (TBD)
|
||||
===============
|
||||
`v1.3.0`_ (2019-10-07)
|
||||
======================
|
||||
* Improved XSD type matching using paths
|
||||
* Cached parent path for XPathContext (only Python 3)
|
||||
* Improve typed selection with TypedAttribute and TypedElement named tuples
|
||||
* Add iter_results to XPathContext
|
||||
* Fix descendant shortcut operator '//'
|
||||
|
@ -157,4 +159,4 @@ CHANGELOG
|
|||
.. _v1.1.9: https://github.com/brunato/elementpath/compare/v1.1.8...v1.1.9
|
||||
.. _v1.2.0: https://github.com/brunato/elementpath/compare/v1.1.9...v1.2.0
|
||||
.. _v1.2.1: https://github.com/brunato/elementpath/compare/v1.2.0...v1.2.1
|
||||
.. _v1.2.2: https://github.com/brunato/elementpath/compare/v1.2.1...v1.2.2
|
||||
.. _v1.3.0: https://github.com/brunato/elementpath/compare/v1.2.1...v1.3.0
|
||||
|
|
|
@ -519,15 +519,17 @@ def select(self, context=None):
|
|||
@method(infix('or', bp=20))
|
||||
def evaluate(self, context=None):
|
||||
if context is None:
|
||||
return bool(self[0].evaluate() or self[1].evaluate())
|
||||
return bool(self[0].evaluate(context.copy()) or self[1].evaluate(context.copy()))
|
||||
return self.boolean_value(self[0].evaluate()) or self.boolean_value(self[1].evaluate())
|
||||
return self.boolean_value(self[0].evaluate(context.copy())) or \
|
||||
self.boolean_value(self[1].evaluate(context.copy()))
|
||||
|
||||
|
||||
@method(infix('and', bp=25))
|
||||
def evaluate(self, context=None):
|
||||
if context is None:
|
||||
return bool(self[0].evaluate() and self[1].evaluate())
|
||||
return bool(self[0].evaluate(context.copy()) and self[1].evaluate(context.copy()))
|
||||
return self.boolean_value(self[0].evaluate()) and self.boolean_value(self[1].evaluate())
|
||||
return self.boolean_value(self[0].evaluate(context.copy())) and \
|
||||
self.boolean_value(self[1].evaluate(context.copy()))
|
||||
|
||||
|
||||
@method(infix('=', bp=30))
|
||||
|
|
Loading…
Reference in New Issue