volume name changed allowed even if it is active
load _all_ plugin language data -> simplifies code
This commit is contained in:
parent
46e10ee6d4
commit
c12057d4c4
2 changed files with 11 additions and 24 deletions
|
@ -54,8 +54,9 @@ class CryptoBoxContainer:
|
|||
|
||||
def setName(self, new_name):
|
||||
if new_name == self.name: return
|
||||
if self.isMounted():
|
||||
raise CBVolumeIsActive("the container must be inactive during renaming")
|
||||
# TODO: check why the following test was/is (?) necessary - side effects?
|
||||
#if self.isMounted():
|
||||
# raise CBVolumeIsActive("the container must be inactive during renaming")
|
||||
if not re.search(r'^[a-zA-Z0-9_\.\- ]+$', new_name):
|
||||
raise CBInvalidName("the supplied new name contains illegal characters")
|
||||
"check for active partitions with the same name"
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue