From 23dc8e063c58366bb366eec84dd1f485b3002025 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Wed, 15 Feb 2017 13:35:24 +0100 Subject: [PATCH] Rev1909, Rebuild content.db on error --- src/Config.py | 2 +- src/Content/ContentDb.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Config.py b/src/Config.py index 5d148069..3bf5b6c8 100644 --- a/src/Config.py +++ b/src/Config.py @@ -10,7 +10,7 @@ class Config(object): def __init__(self, argv): self.version = "0.5.2" - self.rev = 1905 + self.rev = 1909 self.argv = argv self.action = None self.config_file = "zeronet.conf" diff --git a/src/Content/ContentDb.py b/src/Content/ContentDb.py index 83ab59ad..13a5002f 100644 --- a/src/Content/ContentDb.py +++ b/src/Content/ContentDb.py @@ -1,8 +1,10 @@ import time +import os from Db import Db from Config import config from Plugin import PluginManager +from Debug import Debug @PluginManager.acceptPlugins @@ -10,8 +12,15 @@ class ContentDb(Db): def __init__(self, path): Db.__init__(self, {"db_name": "ContentDb", "tables": {}}, path) self.foreign_keys = True - self.schema = self.getSchema() - self.checkTables() + try: + self.schema = self.getSchema() + self.checkTables() + except Exception, err: + self.log.error("Error loading content.db: %s, rebuilding..." % Debug.formatException(err)) + self.close() + os.unlink(path) # Remove and try again + self.schema = self.getSchema() + self.checkTables() self.site_ids = {} self.sites = {}