X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/ledger2?a=blobdiff_plain;f=ledger.py;h=22e36a38dc095af1c6ca986f53ad03274ef9a623;hb=bd32647c67dd9a4979a39efaf31bfe63c82c72d0;hp=cd38b820da6354866cd23d64fb196a3ec9f40952;hpb=3faab835bd9d842cc0a529ba33007b3f85839e12;p=misc diff --git a/ledger.py b/ledger.py index cd38b82..22e36a3 100755 --- a/ledger.py +++ b/ledger.py @@ -68,6 +68,7 @@ add_structured_html = """ +
@@ -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