|
|
|
@ -142,7 +142,7 @@ class WebInterfaceSites:
|
|
|
|
|
except KeyError:
|
|
|
|
|
self.__setWebLang("")
|
|
|
|
|
## we always read the "device" setting - otherwise volume-plugin links
|
|
|
|
|
## would not work easily (see "volume_props" linking to "format_fs")
|
|
|
|
|
## would not work easily (see "volume_props" linking to "volume_format_fs")
|
|
|
|
|
## it will get ignored for non-volume plugins
|
|
|
|
|
try:
|
|
|
|
|
plugin.device = None
|
|
|
|
@ -213,11 +213,6 @@ class WebInterfaceSites:
|
|
|
|
|
valueDict["message_keep"]["dataset"][keep_key] = plugin.hdf[keep_key]
|
|
|
|
|
new_plugin = self.pluginList.getPlugin(nextTemplate["plugin"])
|
|
|
|
|
return self.return_plugin_action(new_plugin)(**valueDict)
|
|
|
|
|
## did we want to keep some dataset values? then save the specified plugin
|
|
|
|
|
if keep_values:
|
|
|
|
|
if type(nextTemplate) == types.StringType:
|
|
|
|
|
nextTemplate = { "template":nextTemplate }
|
|
|
|
|
nextTemplate["old_plugin"] = keep_values["plugin"]
|
|
|
|
|
## save the currently active plugin name
|
|
|
|
|
self.dataset["Data.ActivePlugin"] = plugin.getName()
|
|
|
|
|
return self.__render(nextTemplate, plugin)
|
|
|
|
@ -388,16 +383,12 @@ class WebInterfaceSites:
|
|
|
|
|
## is renderInfo a string (filename of the template) or a dictionary?
|
|
|
|
|
if type(renderInfo) == types.DictType:
|
|
|
|
|
template = renderInfo["template"]
|
|
|
|
|
if renderInfo.has_key("old_plugin"):
|
|
|
|
|
old_plugin = renderInfo["old_plugin"]
|
|
|
|
|
else:
|
|
|
|
|
old_plugin = None
|
|
|
|
|
if renderInfo.has_key("generator"):
|
|
|
|
|
generator = renderInfo["generator"]
|
|
|
|
|
else:
|
|
|
|
|
generator = None
|
|
|
|
|
else:
|
|
|
|
|
(template, generator, old_plugin) = (renderInfo, None, None)
|
|
|
|
|
(template, generator) = (renderInfo, None)
|
|
|
|
|
|
|
|
|
|
## load the language data
|
|
|
|
|
hdf = neo_util.HDF()
|
|
|
|
@ -406,6 +397,12 @@ class WebInterfaceSites:
|
|
|
|
|
## first: assume, that the template file is in the global template directory
|
|
|
|
|
self.dataset["Settings.TemplateFile"] = os.path.abspath(os.path.join(self.prefs["Locations"]["TemplateDir"], template + ".cs"))
|
|
|
|
|
|
|
|
|
|
## load the language data of all plugins
|
|
|
|
|
for p in self.pluginList.getPlugins():
|
|
|
|
|
pl_lang = p.getLanguageData(self.dataset["Settings.Language"])
|
|
|
|
|
if pl_lang:
|
|
|
|
|
hdf.copy("Lang.Plugins.%s" % p.getName(), pl_lang)
|
|
|
|
|
|
|
|
|
|
if plugin:
|
|
|
|
|
## check, if the plugin provides the template file -> overriding
|
|
|
|
|
plugin_cs_file = plugin.getTemplateFileName(template)
|
|
|
|
@ -414,17 +411,6 @@ class WebInterfaceSites:
|
|
|
|
|
|
|
|
|
|
## add the current state of the plugins to the hdf dataset
|
|
|
|
|
self.dataset["Data.Status.Plugins.%s" % plugin.getName()] = plugin.getStatus()
|
|
|
|
|
## load the language data
|
|
|
|
|
pl_lang = plugin.getLanguageData(self.dataset["Settings.Language"])
|
|
|
|
|
if pl_lang:
|
|
|
|
|
self.cbox.log.info("load plugin language: %s" % plugin.getName())
|
|
|
|
|
hdf.copy("Lang.Plugins.%s" % plugin.getName(), pl_lang)
|
|
|
|
|
## was there an "old_plugin"? then load its language data, too
|
|
|
|
|
if old_plugin and (old_plugin != plugin):
|
|
|
|
|
pl_lang = old_plugin.getLanguageData(self.dataset["Settings.Language"])
|
|
|
|
|
if pl_lang:
|
|
|
|
|
self.cbox.log.info("load old plugin language: %s" % old_plugin.getName())
|
|
|
|
|
hdf.copy("Lang.Plugins.%s" % old_plugin.getName(), pl_lang)
|
|
|
|
|
## load the dataset of the plugin
|
|
|
|
|
plugin.loadDataSet(hdf)
|
|
|
|
|
|
|
|
|
|