X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7Bcard_id%7D%7D/feed.xml?a=blobdiff_plain;f=ledger.py;h=36cca98c1c0d5e28fefb986c8d07907da7cfb553;hb=53b84307929582af2aaeac2247cc57db4a7bedf4;hp=cd38b820da6354866cd23d64fb196a3ec9f40952;hpb=3faab835bd9d842cc0a529ba33007b3f85839e12;p=misc
diff --git a/ledger.py b/ledger.py
index cd38b82..36cca98 100755
--- a/ledger.py
+++ b/ledger.py
@@ -46,13 +46,13 @@ booking_html = """
"""
add_form_header = """
"""
add_free_html = """
@@ -62,26 +62,27 @@ add_free_html = """
"""
add_structured_html = """
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
{% for line in booking_lines %}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
{% endfor %}
{% for name, items in datalist_sets.items() %}
@@ -358,7 +359,6 @@ class LedgerDB(PlomDB):
self.write_text_to_db(text)
def insert_at_date(self, lines, date):
- print("DEBUG insert_at_date")
start_at = 0
if len(self.bookings) > 0:
if date >= self.bookings[-1].date_string:
@@ -374,7 +374,6 @@ class LedgerDB(PlomDB):
return self.write_lines_in_total_lines_at(self.real_lines, start_at, lines)
def update(self, start, end, lines, date):
- print("DEBUG update")
total_lines = self.real_lines[:start] + self.real_lines[end:]
n_original_lines = end - start
start_at = len(total_lines)
@@ -523,6 +522,14 @@ class LedgerDB(PlomDB):
ret += [f' {acc_buffer} {-final_minus} ⬠; assume as to earn in year: {acc_buffer} + {12 - months_passed - 1} * this = {year_needed}']
return ret
+ def add_mirror(self, lines):
+ ret = []
+ bookings, _ = parse_lines(lines)
+ booking = bookings[0]
+ for line in booking.lines[1:]:
+ ret += [f'? {-line[1]} {line[2]}']
+ return ret
+
def ledger_as_html(self):
booking_tmpl = jinja2.Template(booking_html)
single_c_tmpl = jinja2.Template('
') ##
@@ -725,6 +732,8 @@ class LedgerDB(PlomDB):
elif 'replace' in postvars.keys():
for i, line in enumerate(lines):
lines[i] = line.replace(postvars['replace_from'][0], postvars['replace_to'][0])
+ elif 'add_mirror' in postvars.keys():
+ lines += self.add_mirror(lines)
return lines, add_empty_line