Merge branch 'maintenance' into devel

Conflicts:
	.versioneer-lookup
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/__init__.py
	src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
	src/octoprint/plugins/softwareupdate/updaters/pip.py
	src/octoprint/plugins/softwareupdate/updaters/update_script.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/util/sockjs.py
	src/octoprint/server/views.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/helpers.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs/settings.jinja2
	src/octoprint/templates/dialogs/settings/features.jinja2
	src/octoprint/templates/dialogs/settings/server.jinja2
	src/octoprint/translations/de/LC_MESSAGES/messages.mo
	src/octoprint/translations/de/LC_MESSAGES/messages.po
	src/octoprint/util/comm.py
	translations/de/LC_MESSAGES/messages.mo
	translations/de/LC_MESSAGES/messages.po
	translations/messages.pot
This commit is contained in:
Gina Häußge 2015-09-01 08:34:24 +02:00
commit 4f3e2d7f49
12 changed files with 1230 additions and 736 deletions

View file

@ -10,10 +10,10 @@
# master shall not use the lookup table, only tags
master
# maintenance is currently the branch for preparation of maintenance release 1.2.5
# maintenance is currently the branch for preparation of maintenance release 1.2.6
# so are any fix/... branches
maintenance 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c
fix/.* 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c
maintenance 1.2.6 96fc70bdb2dd74ba04c3071f70da385b0408904a
fix/.* 1.2.6 96fc70bdb2dd74ba04c3071f70da385b0408904a
# every other branch is a development branch and thus gets resolved to 1.3.0-dev for now
.* 1.3.0 198d3450d94be1a2 pep440-dev

View file

@ -45,6 +45,78 @@
GCODE) for printing on the file API.
* Changes to a user's personal settings via the UI now propagate across sessions.
## 1.2.5 (2015-08-31)
### Improvements
* [#986](https://github.com/foosel/OctoPrint/issues/986) - Added tooltip for
"additional data" button in file list.
* [#1028](https://github.com/foosel/OctoPrint/issues/1028) - Hint about why
timelapse configuration is disabled.
* New central configuration option for commands to restart OctoPrint and to
restart and shut down the system OctoPrint is running on. This allows plugins
(like the Software Update Plugin or the Plugin Manager) and core functionality
to perform these common administrative tasks without the user needing to define
everything redundantly.
* Settings dialog now visualizes when settings are saving and when they being
retrieved. Also the Send/Cancel buttons are disabled while settings are saving
to prevent duplicated requests and concurrent retrieval of the settings by
multiple viewmodels is disabled as well.
* Better protection against rendering errors from templates provided by third
party plugins.
* Better protection against corrupting the configuration by using a temporary
file as intermediate buffer.
* Added warning to UI regarding Z timelapses and spiralized objects.
* Better compatibility with Repetier firmware:
* Added "Format Error" to whitelisted recoverable communication errors
(see also [#1032](https://github.com/foosel/OctoPrint/pull/1032)).
* Added option to ignore repeated resend requests for the same line (see
also discussion in [#1015](https://github.com/foosel/OctoPrint/pull/1015)).
* Software Update Plugin:
* Adjusted to utilize new centralized restart commands (see above).
* Allow configuration of checkout folder and version tracking type via
Plugin Configuration.
* Display message to user if OctoPrint's checkout folder is not configured
or a non-release version is running and version tracking against releases
is enabled.
* Clear version cache when a change in the check configuration is detected.
* Mark check configurations for which an update is not possible.
* Made disk space running low a bit more obvious through visual warning on
configurable thresholds.
### Bug Fixes
* [#985](https://github.com/foosel/OctoPrint/issues/985) - Do not hiccup on
unset `Content-Type` part headers for multipart file uploads.
* [#1001](https://github.com/foosel/OctoPrint/issues/1001) - Fixed connection
tab not unfolding properly (see also [#1002](https://github.com/foosel/OctoPrint/pull/1002)).
* [#1012](https://github.com/foosel/OctoPrint/issues/1012) - All API
responses now set no-cache headers, making the Edge browser behave a bit better
* [#1019](https://github.com/foosel/OctoPrint/issues/1019) - Better error
handling of problems when trying to write the webassets cache.
* [#1021](https://github.com/foosel/OctoPrint/issues/1021) - Properly handle
serial close on Macs.
* [#1031](https://github.com/foosel/OctoPrint/issues/1031) - Special
handling of `M112` (emergency stop) command:
* Jump send queue
* In case the printer's firmware doesn't understand it yet, at least
shutdown all of the heaters
* Disconnect
* Properly reset job progress to 0% when restarting a previously completed
printjob (see [#998](https://github.com/foosel/OctoPrint/pull/998)).
* Report an update as failed if the `pip` command returns a return code that
indicates failure.
* Fixed sorting of templates: could only be sorted by name, individual
configurations were ignored (see [#1022](https://github.com/foosel/OctoPrint/pull/1022)).
* Fixed positioning of custom context menus: were offset due to changes in
overall positioning settings (see [#1023](https://github.com/foosel/OctoPrint/pull/1023)).
* Software Update: Don't use display version for comparison of git commit
hashs.
* Fixed temperature parsing for multi extruder setups.
* Fixed nested vertical and horizontal custom control layouts.
([Commits](https://github.com/foosel/OctoPrint/compare/1.2.4...1.2.5))
## 1.2.4 (2015-07-23)
### Improvements

View file

@ -668,6 +668,30 @@ class SoftwareUpdatePlugin(octoprint.plugin.BlueprintPlugin,
self._logger.warn("Restart stderr:\n%s" % e.stderr)
raise exceptions.RestartFailed()
def _populated_check(self, target, check):
result = dict(check)
if target == "octoprint":
from flask.ext.babel import gettext
result["displayName"] = check.get("displayName", gettext("OctoPrint"))
result["displayVersion"] = check.get("displayVersion", "{octoprint_version}")
from octoprint._version import get_versions
versions = get_versions()
if check["type"] == "github_commit":
result["current"] = versions.get("full-revisionid", versions.get("full", "unknown"))
else:
result["current"] = versions["version"]
else:
result["displayName"] = check.get("displayName", target)
result["displayVersion"] = check.get("displayVersion", check.get("current", "unknown"))
if check["type"] in ("github_commit"):
result["current"] = check.get("current", None)
else:
result["current"] = check.get("current", check.get("displayVersion", None))
return result
def _log(self, lines, prefix=None, stream=None, strip=True):
if strip:
lines = map(lambda x: x.strip(), lines)

View file

@ -146,6 +146,25 @@ $(function() {
}
}
var octoprint = data.information["octoprint"];
if (octoprint && octoprint.hasOwnProperty("check")) {
var check = octoprint.check;
if (BRANCH != "master" && check["type"] == "github_release") {
self.octoprintUnreleased(true);
} else {
self.octoprintUnreleased(false);
}
var checkoutFolder = (check["checkout_folder"] || "").trim();
var updateFolder = (check["update_folder"] || "").trim();
var checkType = check["type"] || "";
if ((checkType == "github_release" || checkType == "git_commit") && checkoutFolder == "" && updateFolder == "") {
self.octoprintUnconfigured(true);
} else {
self.octoprintUnconfigured(false);
}
}
if (data.status == "updateAvailable" || data.status == "updatePossible") {
var text = gettext("There are updates available for the following components:");

View file

@ -717,6 +717,9 @@ class VirtualPrinter(object):
self.buffered = None
def _sendOk(self):
if self.outgoing is None:
return
if settings().getBoolean(["devel", "virtualPrinter", "okWithLinenumber"]):
self._send("ok %d" % self.lastN)
else:

View file

@ -48,6 +48,13 @@
</label>
</div>
</div>
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" data-bind="checked: feature_ignoreIdenticalResends" id="settings-ignoreIdenticalResends"> {{ _('Ignore consecutive resend requests for the same line') }} <span class="label">{{ _('Repetier') }}</span>
</label>
</div>
</div>
<div class="control-group">
<div class="controls">
<label class="checkbox">

View file

@ -1,5 +1,5 @@
<form class="form-horizontal">
<h3>Commands</h3>
<h3>{{ _('Commands') }}</h3>
<div class="control-group" title="{{ _('Command to restart the OctoPrint server') }}">
<label class="control-label" for="settings-serverRestartCommand">{{ _('Restart OctoPrint') }}</label>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff