summaryrefslogtreecommitdiff
path: root/finance/income.py
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2024-09-04 20:56:03 +0200
committerxengineering <me@xengineering.eu>2024-09-08 17:21:32 +0200
commit877b50ef8802f8b59d81ccabcab22fe185e898d7 (patch)
treefa322ebc22f146805ac085e82d5f2b575a5230d7 /finance/income.py
parentb85de39cd765164d5a31836cb7ca106ad6e328a7 (diff)
downloadfinance-py-877b50ef8802f8b59d81ccabcab22fe185e898d7.tar
finance-py-877b50ef8802f8b59d81ccabcab22fe185e898d7.tar.zst
finance-py-877b50ef8802f8b59d81ccabcab22fe185e898d7.zip
Rename income to flow
Modeling income and expenses separately does not make sense since the only difference is the sign of the amount. Separate definitions would lead to a lot of duplicated code.
Diffstat (limited to 'finance/income.py')
-rw-r--r--finance/income.py33
1 files changed, 0 insertions, 33 deletions
diff --git a/finance/income.py b/finance/income.py
deleted file mode 100644
index 8d775cb..0000000
--- a/finance/income.py
+++ /dev/null
@@ -1,33 +0,0 @@
-import dataclasses
-from datetime import datetime
-from decimal import Decimal
-
-
-@dataclasses.dataclass(kw_only=True, frozen=True)
-class Income:
- """Income models financial income paid on the first day of a month"""
-
- amount: Decimal
-
- def integrate(self, start: datetime, end: datetime) -> Decimal:
- """Integrate the income from a start to an end date"""
-
- retval = Decimal(0.0)
-
- current = datetime(start.year, start.month, 1)
-
- if start == current:
- retval += self.amount
-
- while True:
- if current.month == 12:
- current = datetime(current.year + 1, 1, 1)
- else:
- current = datetime(current.year, current.month + 1, 1)
-
- if current <= end:
- retval += self.amount
- else:
- break
-
- return retval