diff --git a/duniterpy/grammars/output.py b/duniterpy/grammars/output.py index 475036540c95742f404a0097c0b56a6807b99719..cf2f34f571e931b0548f58e3405c1a270e4ed55b 100644 --- a/duniterpy/grammars/output.py +++ b/duniterpy/grammars/output.py @@ -1,4 +1,4 @@ -from typing import Optional, TypeVar, Type, Any +from typing import Optional, TypeVar, Type, Any, Union from pypeg2 import re, attr, Keyword, Enum, contiguous, maybe_some, whitespace, K @@ -321,9 +321,9 @@ class Condition: :param value: Content of the condition as string """ self.value = value - self.left = "" - self.right = "" - self.op = "" + self.left = "" # type: Union[str, Condition] + self.right = "" # type: Union[str, Condition] + self.op = "" # type: Union[str, Condition] def __eq__(self, other: Any) -> bool: """ diff --git a/duniterpy/helpers/money.py b/duniterpy/helpers/money.py index b6dd171f9b2a5a8cf6af2577898646d10ce21f69..0a9d0729643b65d3efe52b19e947fb116348cd1d 100644 --- a/duniterpy/helpers/money.py +++ b/duniterpy/helpers/money.py @@ -1,9 +1,9 @@ -from typing import Union, Type, Any -from duniterpy.grammars.output import SIG, CSV, CLTV, XHX, ConditionType +from typing import Union, Any +from duniterpy.grammars.output import SIG, CSV, CLTV, XHX, Condition def output_available( - condition: Type[ConditionType], comparison: Any, value: Union[str, int] + condition: Condition, comparison: Any, value: Union[str, int] ) -> bool: """ Check if output source is available @@ -14,13 +14,13 @@ def output_available( operator.gt(a, b) is equivalent to a > b operator.ge(a, b) is equivalent to a >= b """ - if type(condition.left) == SIG: + if isinstance(condition.left, SIG): return comparison(condition.left.pubkey, value) - if type(condition.left) == CSV: + if isinstance(condition.left, CSV): return comparison(int(condition.left.time), value) - if type(condition.left) == CLTV: + if isinstance(condition.left, CLTV): return comparison(int(condition.left.timestamp), value) - if type(condition.left) == XHX: + if isinstance(condition.left, XHX): return comparison(condition.left.sha_hash, value) - else: - return False + + return False