Changeset - d9dca2cd686b
[Not reviewed]
0 1 0
Brett Smith - 4 years ago 2020-03-29 19:32:51
brettcsmith@brettcsmith.org
data: Posting.is_payment casts threshold to address typing issue.
1 file changed with 3 insertions and 4 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/data.py
Show inline comments
...
 
@@ -25,6 +25,7 @@ import decimal
 
from beancount.core import account as bc_account
 

	
 
from typing import (
 
    cast,
 
    Iterable,
 
    Iterator,
 
    MutableMapping,
...
 
@@ -212,13 +213,11 @@ class Posting(BasePosting):
 
    meta: Metadata  # type:ignore[assignment]
 

	
 
    def is_payment(self, threshold: DecimalCompat=0) -> bool:
 
        threshold = cast(decimal.Decimal, threshold)
 
        return (
 
            self.account.is_real_asset()
 
            and self.units.number is not None
 
            # mypy says abs returns an object and we can't negate that.
 
            # Since we know threshold is numeric, it seems safe to assume
 
            # the return value of abs is numeric as well.
 
            and self.units.number < -abs(threshold)  # type:ignore[operator]
 
            and self.units.number < -abs(threshold)
 
        )
 

	
 

	
0 comments (0 inline, 0 general)