Added migration step for new settings.

(cherry picked from commit 1cdd61f)
This commit is contained in:
Nicanor Romero Venier 2015-07-20 19:21:45 +02:00 committed by Gina Häußge
parent 1343a4a253
commit 57161dd9c3
3 changed files with 16 additions and 22 deletions

View file

@ -134,9 +134,6 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
"restart": "octoprint"
},
},
"octoprint_restart_command": None,
"environment_restart_command": None,
"pip_command": None,
"cache_ttl": 24 * 60,
@ -161,10 +158,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
@ -483,7 +489,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

@ -78,8 +78,6 @@ $(function() {
var data = {
plugins: {
softwareupdate: {
octoprint_restart_command: self.config_restartCommand(),
environment_restart_command: self.config_rebootCommand(),
cache_ttl: parseInt(self.config_cacheTtl())
}
}
@ -88,8 +86,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">