SQLite: close db when done

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Nicolas Sebrecht
2016-04-09 19:52:33 +02:00
parent 1ba5e9160d
commit 6fb5700f94
5 changed files with 24 additions and 8 deletions

View File

@ -46,6 +46,9 @@ class LocalStatusRepository(BaseRepository):
# self._folders is a dict of name:LocalStatusFolders()
self._folders = {}
def _instanciatefolder(self, foldername):
return self.LocalStatusFolderClass(foldername, self) # Instanciate.
def setup_backend(self, backend):
if backend in self.backends.keys():
self._backend = backend
@ -87,19 +90,22 @@ class LocalStatusRepository(BaseRepository):
return # bail out in dry-run mode
# Create an empty StatusFolder
folder = self.LocalStatusFolderClass(foldername, self)
folder = self._instanciatefolder(foldername)
folder.save()
folder.closefiles()
# Invalidate the cache.
self.forgetfolders()
def getfolder(self, foldername):
"""Return the Folder() object for a foldername."""
"""Return the Folder() object for a foldername.
Caller must call closefiles() on the folder when done."""
if foldername in self._folders:
return self._folders[foldername]
folder = self.LocalStatusFolderClass(foldername, self)
folder = self._instanciatefolder(foldername)
# If folder is empty, try to import data from an other backend.
if folder.isnewfolder():