Move site deletion to dedicted function
This commit is contained in:
parent
cb20280530
commit
59205088d2
3 changed files with 14 additions and 12 deletions
|
@ -49,12 +49,13 @@ class Site(object):
|
|||
self.content_updated = None # Content.js update time
|
||||
self.notifications = [] # Pending notifications displayed once on page load [error|ok|info, message, timeout]
|
||||
self.page_requested = False # Page viewed in browser
|
||||
self.websockets = [] # Active site websocket connections
|
||||
|
||||
self.connection_server = None
|
||||
self.storage = SiteStorage(self, allow_create=allow_create) # Save and load site files
|
||||
self.loadSettings(settings) # Load settings from sites.json
|
||||
self.content_manager = ContentManager(self)
|
||||
self.content_manager.loadContents() # Load content.json files
|
||||
self.connection_server = None
|
||||
if "main" in sys.modules and "file_server" in dir(sys.modules["main"]): # Use global file server by default if possible
|
||||
self.connection_server = sys.modules["main"].file_server
|
||||
else:
|
||||
|
@ -67,7 +68,6 @@ class Site(object):
|
|||
self.settings["wrapper_key"] = CryptHash.random()
|
||||
self.log.debug("New wrapper key: %s" % self.settings["wrapper_key"])
|
||||
|
||||
self.websockets = [] # Active site websocket connections
|
||||
|
||||
def __str__(self):
|
||||
return "Site %s" % self.address_short
|
||||
|
@ -924,6 +924,16 @@ class Site(object):
|
|||
self.log.debug("Queried hashfield from %s peers" % queried)
|
||||
return queried
|
||||
|
||||
def delete(self):
|
||||
self.settings["serving"] = False
|
||||
self.saveSettings()
|
||||
self.worker_manager.running = False
|
||||
self.worker_manager.stopWorkers()
|
||||
self.storage.deleteFiles()
|
||||
self.updateWebsocket()
|
||||
self.content_manager.contents.db.deleteSite(self.site.address)
|
||||
SiteManager.site_manager.delete(address)
|
||||
|
||||
# - Events -
|
||||
|
||||
# Add event listeners
|
||||
|
|
|
@ -296,6 +296,7 @@ class SiteStorage(object):
|
|||
i = 0
|
||||
|
||||
if not self.site.content_manager.contents.get("content.json"): # No content.json, download it first
|
||||
self.log.debug("VerifyFile content.json not exists")
|
||||
self.site.needFile("content.json", update=True) # Force update to fix corrupt file
|
||||
self.site.content_manager.loadContent() # Reload content.json
|
||||
for content_inner_path, content in self.site.content_manager.contents.items():
|
||||
|
@ -405,9 +406,6 @@ class SiteStorage(object):
|
|||
except Exception, err:
|
||||
self.log.error("Db file delete error: %s" % err)
|
||||
|
||||
# Delete from content.db
|
||||
self.site.content_manager.contents.db.deleteSite(self.site.address)
|
||||
|
||||
for inner_path in files:
|
||||
path = self.getPath(inner_path)
|
||||
if os.path.isfile(path):
|
||||
|
|
|
@ -665,13 +665,7 @@ class UiWebsocket(object):
|
|||
def actionSiteDelete(self, to, address):
|
||||
site = self.server.sites.get(address)
|
||||
if site:
|
||||
site.settings["serving"] = False
|
||||
site.saveSettings()
|
||||
site.worker_manager.running = False
|
||||
site.worker_manager.stopWorkers()
|
||||
site.storage.deleteFiles()
|
||||
site.updateWebsocket()
|
||||
SiteManager.site_manager.delete(address)
|
||||
site.delete()
|
||||
self.user.deleteSiteData(address)
|
||||
self.response(to, "Deleted")
|
||||
import gc
|
||||
|
|
Loading…
Reference in a new issue