Rev1416, Remove merger permission from merged sites

This commit is contained in:
shortcutme 2016-08-15 23:05:05 +02:00
parent e9009c5c75
commit 8cd7a63490
2 changed files with 14 additions and 7 deletions

View File

@ -245,6 +245,8 @@ class SitePlugin(object):
virtual_path = "merged-%s/%s/%s" % (merged_type, self.address, inner_path)
for merger_site in merged_to_merger.get(self.address, []):
if merger_site.address == self.address:
continue
merger_site.fileDone(virtual_path)
def fileFailed(self, inner_path):
@ -254,6 +256,8 @@ class SitePlugin(object):
virtual_path = "merged-%s/%s/%s" % (merged_type, self.address, inner_path)
for merger_site in merged_to_merger.get(self.address, []):
if merger_site.address == self.address:
continue
merger_site.fileFailed(virtual_path)
@ -268,21 +272,25 @@ class SiteManagerPlugin(object):
merged_to_merger = {}
site_manager = self
for site in self.sites.itervalues():
# Update merged sites
merged_type = site.content_manager.contents.get("content.json", {}).get("merged_type")
if merged_type:
merged_db[site.address] = merged_type
# Update merger sites
for permission in site.settings["permissions"]:
if not permission.startswith("Merger:"):
continue
if merged_type:
self.log.error("Removing permission %s from %s: Merger and merged at the same time." % (permission, site.address))
site.settings["permissions"].remove(permission)
continue
merger_type = permission.replace("Merger:", "")
if site.address not in merger_db:
merger_db[site.address] = []
merger_db[site.address].append(merger_type)
site_manager.sites[site.address] = site
# Update merged sites
merged_type = site.content_manager.contents.get("content.json", {}).get("merged_type")
if merged_type:
merged_db[site.address] = merged_type
# Update merged to merger
if merged_type:
for merger_site in self.sites.itervalues():
@ -292,7 +300,6 @@ class SiteManagerPlugin(object):
merged_to_merger[site.address].append(merger_site)
self.log.debug("Updated merger sites in %.3fs" % (time.time() - s))
def load(self, *args, **kwags):
super(SiteManagerPlugin, self).load(*args, **kwags)
self.updateMergerSites()

View File

@ -8,7 +8,7 @@ class Config(object):
def __init__(self, argv):
self.version = "0.4.0"
self.rev = 1413
self.rev = 1416
self.argv = argv
self.action = None
self.config_file = "zeronet.conf"