Rev1416, Remove merger permission from merged sites
This commit is contained in:
parent
e9009c5c75
commit
8cd7a63490
2 changed files with 14 additions and 7 deletions
|
@ -245,6 +245,8 @@ class SitePlugin(object):
|
||||||
virtual_path = "merged-%s/%s/%s" % (merged_type, self.address, inner_path)
|
virtual_path = "merged-%s/%s/%s" % (merged_type, self.address, inner_path)
|
||||||
|
|
||||||
for merger_site in merged_to_merger.get(self.address, []):
|
for merger_site in merged_to_merger.get(self.address, []):
|
||||||
|
if merger_site.address == self.address:
|
||||||
|
continue
|
||||||
merger_site.fileDone(virtual_path)
|
merger_site.fileDone(virtual_path)
|
||||||
|
|
||||||
def fileFailed(self, inner_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)
|
virtual_path = "merged-%s/%s/%s" % (merged_type, self.address, inner_path)
|
||||||
|
|
||||||
for merger_site in merged_to_merger.get(self.address, []):
|
for merger_site in merged_to_merger.get(self.address, []):
|
||||||
|
if merger_site.address == self.address:
|
||||||
|
continue
|
||||||
merger_site.fileFailed(virtual_path)
|
merger_site.fileFailed(virtual_path)
|
||||||
|
|
||||||
|
|
||||||
|
@ -268,21 +272,25 @@ class SiteManagerPlugin(object):
|
||||||
merged_to_merger = {}
|
merged_to_merger = {}
|
||||||
site_manager = self
|
site_manager = self
|
||||||
for site in self.sites.itervalues():
|
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
|
# Update merger sites
|
||||||
for permission in site.settings["permissions"]:
|
for permission in site.settings["permissions"]:
|
||||||
if not permission.startswith("Merger:"):
|
if not permission.startswith("Merger:"):
|
||||||
continue
|
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:", "")
|
merger_type = permission.replace("Merger:", "")
|
||||||
if site.address not in merger_db:
|
if site.address not in merger_db:
|
||||||
merger_db[site.address] = []
|
merger_db[site.address] = []
|
||||||
merger_db[site.address].append(merger_type)
|
merger_db[site.address].append(merger_type)
|
||||||
site_manager.sites[site.address] = site
|
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
|
# Update merged to merger
|
||||||
if merged_type:
|
if merged_type:
|
||||||
for merger_site in self.sites.itervalues():
|
for merger_site in self.sites.itervalues():
|
||||||
|
@ -292,7 +300,6 @@ class SiteManagerPlugin(object):
|
||||||
merged_to_merger[site.address].append(merger_site)
|
merged_to_merger[site.address].append(merger_site)
|
||||||
self.log.debug("Updated merger sites in %.3fs" % (time.time() - s))
|
self.log.debug("Updated merger sites in %.3fs" % (time.time() - s))
|
||||||
|
|
||||||
|
|
||||||
def load(self, *args, **kwags):
|
def load(self, *args, **kwags):
|
||||||
super(SiteManagerPlugin, self).load(*args, **kwags)
|
super(SiteManagerPlugin, self).load(*args, **kwags)
|
||||||
self.updateMergerSites()
|
self.updateMergerSites()
|
||||||
|
|
|
@ -8,7 +8,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.4.0"
|
self.version = "0.4.0"
|
||||||
self.rev = 1413
|
self.rev = 1416
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
|
|
Loading…
Reference in a new issue