aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/munin-node/templates/plugins/lovelace/lovering_inheritance.py.j2
blob: e896e4a4e25b4c0cadcac320595e9926a4370e45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/env python3
# {{ ansible_managed }}

import datetime
import sys

if sys.argv[-1] == "autoconf":
    print("no")
    sys.exit(0)

if sys.argv[-1] == "config":

    print("""\
graph_title Lovering Inheritance
graph_args --base 1000 -l 0
graph_vlabel £
graph_category people
graph_info This graph shows the insurance that Chris can cash out.
graph_total Total
savings.label Savings
savings.info Base inheritance money Chris paid into his account in 2024
savings.draw AREASTACK
interest.label Interest
interest.info Amount of money gained from interest on the base amount
interest.draw AREASTACK
inherited.label Inherited money
inherited.info Amount inherited from deaths of friends, family and victims
inherited.draw AREASTACK\
    """)
    sys.exit(0)

# Fixed seed to ensure that the bank jitter is constant
today = datetime.date.today()
savings = 740
interest_per_day = 0.0025
insurance_policy_start = datetime.date(2024, 8, 28)
days_griefed = (today - insurance_policy_start).days
accrued_interest = 0
for _ in range(days_griefed):
    accrued_interest += interest_per_day * (savings + accrued_interest)

savings_policy_v1_start = datetime.date(2025, 3, 1)
savings_policy_v1_standard_savings_per_month = 50
savings_policy_v1_savings_per_month = {
    # Roses are red,
    # violets are blue,
    # running heat pumps in winter
    # makes Chris Lovering poor
    12: savings_policy_v1_standard_savings_per_month - 10,
    1: savings_policy_v1_standard_savings_per_month - 20,
    2: savings_policy_v1_standard_savings_per_month - 10,
}
savings_policy_cursor = datetime.date(2025, 3, 1)
while savings_policy_cursor <= today:
    # Chris thinks about saving every day, but he only manages to actually put
    # money into his bank account on the 1st of every month due to a "tax
    # advisor suggestion".
    if savings_policy_cursor.day == 1:
        savings += savings_policy_v1_savings_per_month.get(
            savings_policy_cursor.month,
            savings_policy_v1_standard_savings_per_month
        )
    savings_policy_cursor += datetime.timedelta(days=1)

inherited_money = 0

if days_griefed > 10:
    # Hassan declared as KIA (he had stocks in Big Oil)
    inherited_money += 10000

if days_griefed > 60:
    # Death of Joe (prospect of sale of stolen GPUs)
    inherited_money += 5000

if days_griefed > 170:
    # Bella disappears (spent all on chicken and gifts for his wife)
    inherited_money += 300

if days_griefed > 360:
    # Lola Banks deploys her Titan missile but burns herself to death
    inherited_money += 12000

print(f"savings.value {savings}")
print(f"interest.value {accrued_interest}")
print(f"inherited.value {inherited_money}")

# vim: ft=python.jinja2: