For example, this sequence of events …
A: $10
B: $10
C: ($18)
D: ($2)
… is turned into this timeline:
A B C D
| | | |
|_____________|_____________| |
| | |
| $10 | |
|___________________________| |
| | |
| $8 | |
|_____________|_____________|
| |
| $2 |
|___________________________|
This lets you determine, for each balance reduction event, the events from which the balance was added. In this example, we can see that:
The $18 reduction in event C came from $10 of event A and $8 of B.
The $2 reduction in event D came entirely from event B.
Code for this example:
from refund_calculation import *
history_from_event_sequence([
Event(time='A', delta='10'),
Event(time='B', delta='10'),
Event(time='C', delta='-18'),
Event(time='D', delta='-2'),
])
# Result:
History(
closed=(
Closed(amount=Decimal('10'), start='A', end='C'),
Closed(amount=Decimal('8'), start='B', end='C'),
Closed(amount=Decimal('2'), start='B', end='D'),
),
open=(),
debt=Decimal('0'),
)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file refund_calculation-0.1.tar.gz.
File metadata
- Download URL: refund_calculation-0.1.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac724f169a5542c97b15e5528671278e3d42e84ba1e24223f78e27b08cc431a8
|
|
| MD5 |
083972d22f9e080530d31918cf86ffd2
|
|
| BLAKE2b-256 |
c9faad4b2c48a4078ad8fa20ff96483e12d9aae8e54625d14d1eb4de6a5df494
|