Added migration step for new settings.

This commit is contained in:
Nicanor Romero Venier 2015-07-20 19:21:45 +02:00
parent dab328527a
commit 1cdd61fcbf
3 changed files with 16 additions and 22 deletions

View file

@ -150,9 +150,6 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
"restart": "octoprint"
},
},
"octoprint_restart_command": None,
"environment_restart_command": None,
"pip_command": None,
"cache_ttl": 24 * 60,
@ -177,10 +174,19 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._version_cache_ttl = self._settings.get_int(["cache_ttl"]) * 60
def get_settings_version(self):
return 3
return 4
def on_settings_migrate(self, target, current=None):
if current is None or current == 2:
if current is None or current == 3:
self._settings.global_set(["server", "commands", "systemRestartCommand"], self._settings.get(["environment_restart_command"]))
self._settings.global_set(["server", "commands", "serverRestartCommand"], self._settings.get(["octoprint_restart_command"]))
self._settings.set(["environment_restart_command"], None)
self._settings.set(["octoprint_restart_command"], None)
self._settings.save()
elif current == 2:
# there might be some left over data from the time we still persisted everything to settings,
# even the stuff that shouldn't be persisted but always provided by the hook - let's
# clean up
@ -496,7 +502,11 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
if restart_type is not None and restart_type in ("octoprint", "environment"):
# one of our updates requires a restart of either type "octoprint" or "environment". Let's see if
# we can actually perform that
restart_command = self._settings.get(["%s_restart_command" % restart_type])
if restart_type == "octoprint":
restart_command = self._settings.global_get(["server", "commands", "systemRestartCommand"])
elif restart_type == "environment":
restart_command = self._settings.global_get(["server", "commands", "serverRestartCommand"])
if restart_command is not None:
self._send_client_message("restarting", dict(restart_type=restart_type, results=target_results))

View file

@ -84,8 +84,6 @@ $(function() {
var data = {
plugins: {
softwareupdate: {
octoprint_restart_command: self.config_restartCommand(),
environment_restart_command: self.config_rebootCommand(),
cache_ttl: parseInt(self.config_cacheTtl())
}
}
@ -94,8 +92,6 @@ $(function() {
};
self._copyConfig = function() {
self.config_restartCommand(self.settings.settings.plugins.softwareupdate.octoprint_restart_command());
self.config_rebootCommand(self.settings.settings.plugins.softwareupdate.environment_restart_command());
self.config_cacheTtl(self.settings.settings.plugins.softwareupdate.cache_ttl());
};

View file

@ -55,18 +55,6 @@
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="control-group">
<label class="control-label">{{ _('Restart Command') }}</label>
<div class="controls">
<input type="text" class="input-block-level" data-bind="value: config_restartCommand">
</div>
</div>
<div class="control-group">
<label class="control-label">{{ _('Reboot Command') }}</label>
<div class="controls">
<input type="text" class="input-block-level" data-bind="value: config_rebootCommand">
</div>
</div>
<div class="control-group">
<label class="control-label">{{ _('Version cache TTL') }}</label>
<div class="controls">