Rev1510, Fix site save without loaded SiteManager
This commit is contained in:
parent
d9bbb20743
commit
a6c4a77e13
4 changed files with 19 additions and 16 deletions
|
@ -13,8 +13,8 @@ log = logging.getLogger("ZeronamePlugin")
|
|||
class SiteManagerPlugin(object):
|
||||
site_zeroname = None
|
||||
|
||||
def load(self):
|
||||
super(SiteManagerPlugin, self).load()
|
||||
def load(self, *args, **kwargs):
|
||||
super(SiteManagerPlugin, self).load(*args, **kwargs)
|
||||
if not self.get(config.bit_resolver):
|
||||
self.need(config.bit_resolver) # Need ZeroName site
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class Config(object):
|
|||
|
||||
def __init__(self, argv):
|
||||
self.version = "0.4.1"
|
||||
self.rev = 1509
|
||||
self.rev = 1510
|
||||
self.argv = argv
|
||||
self.action = None
|
||||
self.config_file = "zeronet.conf"
|
||||
|
|
|
@ -68,7 +68,6 @@ class Site(object):
|
|||
self.settings["wrapper_key"] = CryptHash.random()
|
||||
self.log.debug("New wrapper key: %s" % self.settings["wrapper_key"])
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return "Site %s" % self.address_short
|
||||
|
||||
|
@ -99,8 +98,11 @@ class Site(object):
|
|||
|
||||
# Save site settings to data/sites.json
|
||||
def saveSettings(self):
|
||||
if not SiteManager.site_manager.get(self.address):
|
||||
if not SiteManager.site_manager.sites:
|
||||
SiteManager.site_manager.sites = {}
|
||||
if not SiteManager.site_manager.sites.get(self.address):
|
||||
SiteManager.site_manager.sites[self.address] = self
|
||||
SiteManager.site_manager.load(False)
|
||||
SiteManager.site_manager.save()
|
||||
|
||||
# Max site size in MB
|
||||
|
|
|
@ -23,10 +23,10 @@ class SiteManager(object):
|
|||
atexit.register(self.save)
|
||||
|
||||
# Load all sites from data/sites.json
|
||||
def load(self):
|
||||
def load(self, cleanup=True):
|
||||
self.log.debug("Loading sites...")
|
||||
from Site import Site
|
||||
if not self.sites:
|
||||
if self.sites is None:
|
||||
self.sites = {}
|
||||
address_found = []
|
||||
added = 0
|
||||
|
@ -40,16 +40,17 @@ class SiteManager(object):
|
|||
address_found.append(address)
|
||||
|
||||
# Remove deleted adresses
|
||||
for address in self.sites.keys():
|
||||
if address not in address_found:
|
||||
del(self.sites[address])
|
||||
self.log.debug("Removed site: %s" % address)
|
||||
if cleanup:
|
||||
for address in self.sites.keys():
|
||||
if address not in address_found:
|
||||
del(self.sites[address])
|
||||
self.log.debug("Removed site: %s" % address)
|
||||
|
||||
# Remove orpan sites from contentdb
|
||||
for row in ContentDb.getContentDb().execute("SELECT * FROM site"):
|
||||
if row["address"] not in self.sites:
|
||||
self.log.info("Deleting orphan site from content.db: %s" % row["address"])
|
||||
ContentDb.getContentDb().deleteSite(row["address"])
|
||||
# Remove orpan sites from contentdb
|
||||
for row in ContentDb.getContentDb().execute("SELECT * FROM site"):
|
||||
if row["address"] not in self.sites:
|
||||
self.log.info("Deleting orphan site from content.db: %s" % row["address"])
|
||||
ContentDb.getContentDb().deleteSite(row["address"])
|
||||
|
||||
if added:
|
||||
self.log.debug("SiteManager added %s sites" % added)
|
||||
|
|
Loading…
Reference in a new issue