UiConfig plugin
This commit is contained in:
parent
5aab10fab2
commit
10bab2b6e4
17 changed files with 3240 additions and 0 deletions
53
plugins/UiConfig/UiConfigPlugin.py
Normal file
53
plugins/UiConfig/UiConfigPlugin.py
Normal file
|
@ -0,0 +1,53 @@
|
|||
from Plugin import PluginManager
|
||||
from Config import config
|
||||
|
||||
|
||||
@PluginManager.afterLoad
|
||||
def importPluginnedClasses():
|
||||
from Ui import UiWebsocket
|
||||
UiWebsocket.admin_commands.add("configList")
|
||||
|
||||
|
||||
@PluginManager.registerTo("UiRequest")
|
||||
class UiRequestPlugin(object):
|
||||
def actionWrapper(self, path, extra_headers=None):
|
||||
if path.strip("/") != "Config":
|
||||
return super(UiRequestPlugin, self).actionWrapper(path, extra_headers)
|
||||
|
||||
if not extra_headers:
|
||||
extra_headers = {}
|
||||
self.sendHeader(extra_headers=extra_headers)
|
||||
site = self.server.site_manager.get(config.homepage)
|
||||
return iter([super(UiRequestPlugin, self).renderWrapper(
|
||||
site, path, "uimedia/plugins/uiconfig/config.html",
|
||||
"Config", extra_headers, show_loadingscreen=False
|
||||
)])
|
||||
|
||||
def actionUiMedia(self, path, *args, **kwargs):
|
||||
if path.startswith("/uimedia/plugins/uiconfig/"):
|
||||
file_path = path.replace("/uimedia/plugins/uiconfig/", "plugins/UiConfig/media/")
|
||||
if config.debug and (file_path.endswith("all.js") or file_path.endswith("all.css")):
|
||||
# If debugging merge *.css to all.css and *.js to all.js
|
||||
from Debug import DebugMedia
|
||||
DebugMedia.merge(file_path)
|
||||
return self.actionFile(file_path)
|
||||
else:
|
||||
return super(UiRequestPlugin, self).actionUiMedia(path)
|
||||
|
||||
|
||||
@PluginManager.registerTo("UiWebsocket")
|
||||
class UiWebsocketPlugin(object):
|
||||
def actionConfigList(self, to):
|
||||
back = {}
|
||||
config_values = vars(config.arguments)
|
||||
config_values.update(config.pending_changes)
|
||||
for key, val in config_values.iteritems():
|
||||
if key not in config.keys_api_change_allowed:
|
||||
continue
|
||||
back[key] = {
|
||||
"value": val,
|
||||
"default": config.parser.get_default(key),
|
||||
"pending": key in config.pending_changes
|
||||
}
|
||||
return back
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue