anki (0.9.9.8.6-2.1) libanki/anki/db.py

Summary

 libanki/anki/db.py |   25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

    
download this patch

Patch contents

--- anki-0.9.9.8.6.orig/libanki/anki/db.py
+++ anki-0.9.9.8.6/libanki/anki/db.py
@@ -65,6 +65,27 @@
             self._lockDB()
         self._seen = True
 
+    def save(self, obj):
+        # compat
+        if sqlalchemy.__version__.startswith("0.4."):
+            self._session.save(obj)
+        else:
+            self._session.add(obj)
+
+    def clear(self):
+        # compat
+        if sqlalchemy.__version__.startswith("0.4."):
+            self._session.clear()
+        else:
+            self._session.expunge_all()
+
+    def update(self, obj):
+        # compat
+        if sqlalchemy.__version__.startswith("0.4."):
+            self._session.update(obj)
+        else:
+            self._session.add(obj)
+
     def execute(self, *a, **ka):
         x = self._session.execute(*a, **ka)
         runHook("dbFinished")
@@ -121,4 +142,8 @@
         if 'autocommit' in kwargs:
             kwargs['transactional'] = not kwargs['autocommit']
             del kwargs['autocommit']
+    else:
+        if 'transactional' in kwargs:
+            kwargs['autocommit'] = not kwargs['transactional']
+            del kwargs['transactional']
     return _sessionmaker(*args, **kwargs)