home
·
contact
·
privacy
projects
/
misc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve accounting scripts.
[misc]
/
ledger.py
diff --git
a/ledger.py
b/ledger.py
index cd38b820da6354866cd23d64fb196a3ec9f40952..22e36a38dc095af1c6ca986f53ad03274ef9a623 100755
(executable)
--- a/
ledger.py
+++ b/
ledger.py
@@
-68,6
+68,7
@@
add_structured_html = """
<input name="replace_from" />
<input type="submit" name="replace" value="-> replace ->" />
<input name="replace_to" />
<input name="replace_from" />
<input type="submit" name="replace" value="-> replace ->" />
<input name="replace_to" />
+<input type="submit" name="add_mirror" value="add mirror" />
<br />
<input name="date" value="{{date|e}}" size=9 />
<input name="description" value="{{desc|e}}" list="descriptions" />
<br />
<input name="date" value="{{date|e}}" size=9 />
<input name="description" value="{{desc|e}}" list="descriptions" />
@@
-358,7
+359,6
@@
class LedgerDB(PlomDB):
self.write_text_to_db(text)
def insert_at_date(self, lines, date):
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:
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):
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)
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
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('<span class="comment">{{c|e}}</span><br />') ##
def ledger_as_html(self):
booking_tmpl = jinja2.Template(booking_html)
single_c_tmpl = jinja2.Template('<span class="comment">{{c|e}}</span><br />') ##
@@
-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 '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
return lines, add_empty_line