فهرست منبع

bugfix txn file not being closed and causing data loss

Daniel Sheffield 3 سال پیش
والد
کامیت
f7372aa597
1فایلهای تغییر یافته به همراه9 افزوده شده و 3 حذف شده
  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()