X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=ledger.py;h=36cca98c1c0d5e28fefb986c8d07907da7cfb553;hb=40021a447d9a6444205c82b2bdcd924e0586a07f;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_form_footer = """ - +
""" 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('{{c|e}}
') ## @@ -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