Explorar o código

bugfix txn file not being closed and causing data loss

Daniel Sheffield %!s(int64=3) %!d(string=hai) anos
pai
achega
f7372aa597
Modificáronse 1 ficheiros con 9 adicións e 3 borrados
  1. 9 3
      grocery_transactions.py

+ 9 - 3
grocery_transactions.py

@@ -209,10 +209,16 @@ activity_manager.create(TransactionEditor, 'transaction',
     lambda widget, name, data: _autocomplete_callback(activity_manager, query_manager, widget, name, data),
     lambda name, value: _apply_choice_callback(activity_manager, 'transaction', name, value))
 
-app = GroceryTransactionEditor(activity_manager, cur, log)
+app = None
+try:
+    app = GroceryTransactionEditor(activity_manager, cur, log)
+
+    loop = urwid.MainLoop(app, palette, unhandled_input=show_or_exit, pop_ups=True)
 
-loop = urwid.MainLoop(app, palette, unhandled_input=show_or_exit, pop_ups=True)
-loop.run()
+    loop.run()
+finally:
+    if app is not None:
+        app.close()
 
 cur.close()
 conn.close()