Experimental LocalStatus stored in SQLite database

Based on patches by Stewart Smith, updated by Rob Browning.

plus:
- Inherit LocalStatusSQLFolder from LocalStatusFolder
  This lets us remove all functions that are available via our ancestors
  classes and are not needed.

- Don't fail if pysql import fails. Fail rather at runtime when needed.

- When creating the db file, create a metadata table which contains the
  format version info, so we can upgrade nicely to other formats.

- Create an upgrade_db() function which allows us to upgrade from any
  previous file format to the current one (including plain text)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Sebastian Spaeth
2011-05-05 15:59:24 +02:00
committed by Nicolas Sebrecht
parent 535f4592fc
commit 2fc12e875a
3 changed files with 195 additions and 3 deletions

View File

@ -30,12 +30,12 @@ class LocalStatusFolder(BaseFolder):
self.config = config
self.dofsync = config.getdefaultboolean("general", "fsync", True)
self.filename = repository.getfolderfilename(name)
self.messagelist = None
self.messagelist = {}
self.repository = repository
self.savelock = threading.Lock()
self.doautosave = 1
self.accountname = accountname
BaseFolder.__init__(self)
super(LocalStatusFolder, self).__init__()
def getaccountname(self):
return self.accountname