More Bug Fixes

This commit is contained in:
canewsin 2022-01-07 02:56:14 +05:30
parent c594e63512
commit 7fef6dde0e
3 changed files with 19 additions and 19 deletions

@ -1 +1 @@
Subproject commit a55d1b02488de996c32e515d3ecaf701dd515d46 Subproject commit 1dbfb590c82937c805bba79f99a5708436cfc76a

View file

@ -643,7 +643,7 @@ class UiRequest(object):
if (config.debug or config.merge_media) and file_path.split("/")[-1].startswith("all."): if (config.debug or config.merge_media) and file_path.split("/")[-1].startswith("all."):
# If debugging merge *.css to all.css and *.js to all.js # If debugging merge *.css to all.css and *.js to all.js
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site and site.settings["own"]: if site and site.settings["own"]:
from Debug import DebugMedia from Debug import DebugMedia
DebugMedia.merge(file_path) DebugMedia.merge(file_path)
@ -734,7 +734,7 @@ class UiRequest(object):
block = block.replace(b"{themeclass}", themeclass.encode("utf8")) block = block.replace(b"{themeclass}", themeclass.encode("utf8"))
if path_parts: if path_parts:
site = self.server.getSites().get(path_parts.get("address")) site = self.server.sites.get(path_parts.get("address"))
if site.settings["own"]: if site.settings["own"]:
modified = int(time.time()) modified = int(time.time())
else: else:
@ -823,7 +823,7 @@ class UiRequest(object):
# Find site by wrapper_key # Find site by wrapper_key
wrapper_key = self.get["wrapper_key"] wrapper_key = self.get["wrapper_key"]
site = None site = None
for site_check in list(self.server.getSites().values()): for site_check in list(self.server.sites.values()):
if site_check.settings["wrapper_key"] == wrapper_key: if site_check.settings["wrapper_key"] == wrapper_key:
site = site_check site = site_check
@ -841,7 +841,7 @@ class UiRequest(object):
self.server.websockets.append(ui_websocket) self.server.websockets.append(ui_websocket)
ui_websocket.start() ui_websocket.start()
self.server.websockets.remove(ui_websocket) self.server.websockets.remove(ui_websocket)
for site_check in list(self.server.getSites().values()): for site_check in list(self.server.sites.values()):
# Remove websocket from every site (admin sites allowed to join other sites event channels) # Remove websocket from every site (admin sites allowed to join other sites event channels)
if ui_websocket in site_check.websockets: if ui_websocket in site_check.websockets:
site_check.websockets.remove(ui_websocket) site_check.websockets.remove(ui_websocket)
@ -867,11 +867,11 @@ class UiRequest(object):
# Just raise an error to get console # Just raise an error to get console
def actionConsole(self): def actionConsole(self):
import sys import sys
sites = self.server.getSites() sites = self.server.sites
main = sys.modules["main"] main = sys.modules["main"]
def bench(code, times=100, init=None): def bench(code, times=100, init=None):
sites = self.server.getSites() sites = self.server.sites
main = sys.modules["main"] main = sys.modules["main"]
s = time.time() s = time.time()
if init: if init:

View file

@ -330,7 +330,7 @@ class UiWebsocket(object):
if not self.hasSitePermission(address, cmd=cmd): if not self.hasSitePermission(address, cmd=cmd):
return self.response(to, "No permission for site %s" % address) return self.response(to, "No permission for site %s" % address)
req_self = copy.copy(self) req_self = copy.copy(self)
req_self.site = self.server.getSites().get(address) req_self.site = self.server.sites.get(address)
req_self.hasCmdPermission = self.hasCmdPermission # Use the same permissions as current site req_self.hasCmdPermission = self.hasCmdPermission # Use the same permissions as current site
req_obj = super(UiWebsocket, req_self) req_obj = super(UiWebsocket, req_self)
req = {"id": to, "cmd": cmd, "params": params} req = {"id": to, "cmd": cmd, "params": params}
@ -388,7 +388,7 @@ class UiWebsocket(object):
def actionAnnouncerStats(self, to): def actionAnnouncerStats(self, to):
back = {} back = {}
trackers = self.site.announcer.getTrackers() trackers = self.site.announcer.getTrackers()
for site in list(self.server.getSites().values()): for site in list(self.server.sites.values()):
for tracker, stats in site.announcer.stats.items(): for tracker, stats in site.announcer.stats.items():
if tracker not in trackers: if tracker not in trackers:
continue continue
@ -894,7 +894,7 @@ class UiWebsocket(object):
@flag.admin @flag.admin
def actionSiteList(self, to, connecting_sites=False): def actionSiteList(self, to, connecting_sites=False):
ret = [] ret = []
for site in list(self.server.getSites().values()): for site in list(self.server.sites.values()):
if not site.content_manager.contents.get("content.json") and not connecting_sites: if not site.content_manager.contents.get("content.json") and not connecting_sites:
continue # Incomplete site continue # Incomplete site
ret.append(self.formatSiteInfo(site, create_user=False)) # Dont generate the auth_address on listing ret.append(self.formatSiteInfo(site, create_user=False)) # Dont generate the auth_address on listing
@ -906,7 +906,7 @@ class UiWebsocket(object):
if channel not in self.channels: # Add channel to channels if channel not in self.channels: # Add channel to channels
self.channels.append(channel) self.channels.append(channel)
for site in list(self.server.getSites().values()): # Add websocket to every channel for site in list(self.server.sites.values()): # Add websocket to every channel
if self not in site.websockets: if self not in site.websockets:
site.websockets.append(self) site.websockets.append(self)
@ -918,7 +918,7 @@ class UiWebsocket(object):
site.update(announce=announce, check_files=check_files, verify_files=verify_files, since=since) site.update(announce=announce, check_files=check_files, verify_files=verify_files, since=since)
self.response(to, "Updated") self.response(to, "Updated")
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site and (site.address == self.site.address or "ADMIN" in self.site.settings["permissions"]): if site and (site.address == self.site.address or "ADMIN" in self.site.settings["permissions"]):
if not site.settings["serving"]: if not site.settings["serving"]:
site.settings["serving"] = True site.settings["serving"] = True
@ -931,7 +931,7 @@ class UiWebsocket(object):
# Pause site serving # Pause site serving
@flag.admin @flag.admin
def actionSitePause(self, to, address): def actionSitePause(self, to, address):
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site: if site:
site.settings["serving"] = False site.settings["serving"] = False
site.saveSettings() site.saveSettings()
@ -944,7 +944,7 @@ class UiWebsocket(object):
# Resume site serving # Resume site serving
@flag.admin @flag.admin
def actionSiteResume(self, to, address): def actionSiteResume(self, to, address):
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site: if site:
site.settings["serving"] = True site.settings["serving"] = True
site.saveSettings() site.saveSettings()
@ -958,7 +958,7 @@ class UiWebsocket(object):
@flag.admin @flag.admin
@flag.no_multiuser @flag.no_multiuser
def actionSiteDelete(self, to, address): def actionSiteDelete(self, to, address):
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site: if site:
site.delete() site.delete()
self.user.deleteSiteData(address) self.user.deleteSiteData(address)
@ -970,10 +970,10 @@ class UiWebsocket(object):
def cbSiteClone(self, to, address, root_inner_path="", target_address=None, redirect=True): def cbSiteClone(self, to, address, root_inner_path="", target_address=None, redirect=True):
self.cmd("notification", ["info", _["Cloning site..."]]) self.cmd("notification", ["info", _["Cloning site..."]])
site = self.server.getSites().get(address) site = self.server.sites.get(address)
response = {} response = {}
if target_address: if target_address:
target_site = self.server.getSites().get(target_address) target_site = self.server.sites.get(target_address)
privatekey = self.user.getSiteData(target_site.address).get("privatekey") privatekey = self.user.getSiteData(target_site.address).get("privatekey")
site.clone(target_address, privatekey, root_inner_path=root_inner_path) site.clone(target_address, privatekey, root_inner_path=root_inner_path)
self.cmd("notification", ["done", _["Site source code upgraded!"]]) self.cmd("notification", ["done", _["Site source code upgraded!"]])
@ -999,11 +999,11 @@ class UiWebsocket(object):
self.response(to, {"error": "Not a site: %s" % address}) self.response(to, {"error": "Not a site: %s" % address})
return return
if not self.server.getSites().get(address): if not self.server.sites.get(address):
# Don't expose site existence # Don't expose site existence
return return
site = self.server.getSites().get(address) site = self.server.sites.get(address)
if site.bad_files: if site.bad_files:
for bad_inner_path in list(site.bad_files.keys()): for bad_inner_path in list(site.bad_files.keys()):
is_user_file = "cert_signers" in site.content_manager.getRules(bad_inner_path) is_user_file = "cert_signers" in site.content_manager.getRules(bad_inner_path)