home · contact · privacy
Improve accounting scripts.
[misc] / ledger.py
index 817def60ea1f2f29feeb4a4436496b1f1d2158ad..cd38b820da6354866cd23d64fb196a3ec9f40952 100755 (executable)
--- a/ledger.py
+++ b/ledger.py
@@ -65,6 +65,9 @@ add_structured_html = """
 <input type="submit" name="add_taxes" value="add taxes" />
 <input type="submit" name="add_taxes2" value="add taxes2" />
 <input type="submit" name="add_sink" value="add sink" />
+<input name="replace_from" />
+<input type="submit" name="replace" value="-> replace ->" />
+<input name="replace_to" />
 <br />
 <input name="date" value="{{date|e}}" size=9 />
 <input name="description" value="{{desc|e}}" list="descriptions" />
@@ -715,10 +718,13 @@ class LedgerDB(PlomDB):
                     lines += [f'Assets  {amount:.2f} {currency}']
             except PlomException:
                 pass
-        if 'add_taxes' in postvars.keys():
+        elif 'add_taxes' in postvars.keys():
             lines += self.add_taxes(lines, finish=False)
         elif 'add_taxes2' in postvars.keys():
             lines += self.add_taxes(lines, finish=True)
+        elif 'replace' in postvars.keys():
+            for i, line in enumerate(lines):
+                lines[i] = line.replace(postvars['replace_from'][0], postvars['replace_to'][0])
         return lines, add_empty_line