Commit graph

58 commits

Author SHA1 Message Date
Gina Häußge
2efc5c4fdb Ignore update definitions that are lacking the type
Caused a KeyError so far, update definitions that are broken like that
will now just be ignored instead.

Closes #1057
2015-09-11 08:15:15 +02:00
Gina Häußge
628a9f43e9 Let's up the restart-detection-timeout a bit
Just for experimental purposes.
2015-09-02 11:34:32 +02:00
Gina Häußge
a79e38a350 Settings saving now supports callbacks, SWU plugin utilizes those 2015-09-01 17:18:08 +02:00
Gina Häußge
098c169ca5 SWU: Do not show "settings refreshed" dialog when saving plugin settings 2015-09-01 10:43:52 +02:00
Gina Häußge
42e11acb44 Fixed a merge error 2015-09-01 09:42:44 +02:00
Gina Häußge
4f3e2d7f49 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
2015-09-01 08:34:24 +02:00
Gina Häußge
51b1535a29 Make sure stdout is a string when we try to treat it as such... 2015-08-27 16:43:58 +02:00
Gina Häußge
13d7d5f2f6 SWU: Various improvements for better usability
* Allow configuration of checkout folder and version tracking type
    via Plugin Configuration
  * Display message to use if 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 with
    a little exclamation mark
(cherry picked from commit 8666a28)
2015-08-26 16:03:11 +02:00
Gina Häußge
bf049ddee4 Fixed two swapped vars
(cherry picked from commit 14c1069)
2015-08-26 15:56:50 +02:00
Gina Häußge
93763a5563 Remove left over observables that are no longer needed
(cherry picked from commit 7986a2f)
2015-08-26 15:56:09 +02:00
Gina Häußge
7a74f5348d Only migrate server commands when not already set
Also migrate for any config version < 4 (incl. None) and make sure
the other migrations may happen on top of that if necessary. Added
some comments to explain necessary migrations.
(cherry picked from commit f1075f6)
2015-08-26 15:55:32 +02:00
Nicanor Romero Venier
57161dd9c3 Added migration step for new settings.
(cherry picked from commit 1cdd61f)
2015-08-26 15:54:17 +02:00
Gina Häußge
8666a28f64 SWU: Various improvements for better usability
* Allow configuration of checkout folder and version tracking type
    via Plugin Configuration
  * Display message to use if 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 with
    a little exclamation mark
2015-08-26 15:50:57 +02:00
Gina Häußge
54bd7766b9 SWU: Don't use display versions for "current" in github_commit configs
(cherry picked from commit 58c6abc)
2015-08-24 14:51:25 +02:00
Gina Häußge
f1b2c43286 Merge branch 'devel' into dev/firstRunWizard 2015-08-21 18:40:21 +02:00
Gina Häußge
58c6abc644 SWU: Don't use display versions for "current" in github_commit configs 2015-08-18 16:07:07 +02:00
Gina Häußge
ea662849bc Construct message/confirmation dialogs programmatically
No need to have templates here, we do it directly from the helper methods.
That also leaves us more options regarding callbacks, classes etc.

Helper methods now take an options dictionary (but still can fallback to the
old signature) containing messages, titles, callbacks etc instead of using
positional arguments for that. Switched code over to utilize that new
calling approach.
2015-08-17 16:41:12 +02:00
Gina Häußge
6df57bc1d1 Evaluate return code of pip while updating
Should not report a successful update anymore when the pip call failes for whatever reason.
(cherry picked from commit 54b981b)
2015-08-11 14:07:38 +02:00
Gina Häußge
54b981b1ec Evaluate return code of pip while updating
Should not report a successful update anymore when the pip call failes for whatever reason.
2015-08-10 10:11:40 +02:00
Gina Häußge
6f5c6f5404 PipCaller now manages special parameters on its own
The class knows about which pip versions support --process-dependency-links, which
need --no-use-wheel and which are broken altogether and adds/removes these parameters
accordingly or outright reports the broken pip version.
2015-07-23 15:00:47 +02:00
Gina Häußge
4dd4a2cc9c Revert "Remove dependency_links support again"
This reverts commit be423e49fd.

Conflicts:
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/plugins/softwareupdate/updaters/pip.py
(cherry picked from commit c24ba82)
2015-07-22 19:06:39 +02:00
Gina Häußge
c24ba824d6 Revert "Remove dependency_links support again"
This reverts commit be423e49fd.

Conflicts:
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/plugins/softwareupdate/updaters/pip.py
2015-07-22 16:57:32 +02:00
Gina Häußge
14c1069e41 Fixed two swapped vars 2015-07-21 18:29:32 +02:00
Gina Häußge
7986a2ff56 Remove left over observables that are no longer needed 2015-07-21 18:02:03 +02:00
Gina Häußge
f1075f648c Only migrate server commands when not already set
Also migrate for any config version < 4 (incl. None) and make sure
the other migrations may happen on top of that if necessary. Added
some comments to explain necessary migrations.
2015-07-21 17:55:08 +02:00
Nicanor Romero Venier
1cdd61fcbf Added migration step for new settings. 2015-07-20 19:21:45 +02:00
Gina Häußge
19a5613e59 Made "Software Update" and "CuraEngine" translateable
Also fixed a typo in a notification.
(cherry picked from commit 430e47d)
2015-07-07 18:39:47 +02:00
Gina Häußge
430e47d20f Made "Software Update" and "CuraEngine" translateable
Also fixed a typo in a notification.
2015-07-07 18:26:06 +02:00
Gina Häußge
8722cdadcd Merge branch 'maintenance' into devel
Conflicts:
	src/octoprint/plugins/softwareupdate/updaters/pip.py
	src/octoprint/util/pip.py
2015-07-05 10:15:14 +02:00
Gina Häußge
29d49179a9 SWU Fix: properly sanitize version strings for comparison 2015-07-05 10:04:06 +02:00
Gina Häußge
f0530eff8f SWU: always send displayName to frontend
Spares us having to map on the client side which might not work
in all cases.
2015-07-03 15:25:36 +02:00
Gina Häußge
a1735190d5 OctoPrint update script now logs asynchronously
stdout and stderr of executed commands was previously only logged at
the very end, now gets logged when it is received.
2015-07-03 14:00:01 +02:00
Gina Häußge
be8827b67c SWU: plugin now logs stdout/stderr during updating
Only if logged in as Admin though. Working dialog is as verbose as
Plugin install dialog.
2015-07-03 13:59:22 +02:00
Gina Häußge
5674de9c2f Fix: Do not auto-close SWU plugin notifications 2015-07-03 13:53:59 +02:00
Gina Häußge
885e6f916c Fix: Don't persists checks when saving SWUpdate settings
(cherry picked from commit 8d10be6)
2015-07-02 15:27:27 +02:00
Gina Häußge
d7a86a4d28 Use UTF-8 for _all_ output from sarge
Lines taking from the asynchronous processing of stdout/stderr where
left as str, leading to encoding problems when utf8 characters showed
up in the stream and were being interpreted as ascii encoding.
(cherry picked from commit 9373be3)
2015-07-02 15:27:17 +02:00
Gina Häußge
7b3e0563cc SWUpdate: Only use version cache from same version of OP
When using the version cache only use the version cache if the OctoPrint
version stored within it matches the one of the currently running
instance. Otherwise we might report false positives with regards to
available updates under some circumstances.
(cherry picked from commit bb7b0cb)
2015-07-02 15:26:02 +02:00
Gina Häußge
8d10be6ac4 Fix: Don't persists checks when saving SWUpdate settings 2015-07-02 15:20:07 +02:00
Gina Häußge
bb7b0cbcbd SWUpdate: Only use version cache from same version of OP
When using the version cache only use the version cache if the OctoPrint
version stored within it matches the one of the currently running
instance. Otherwise we might report false positives with regards to
available updates under some circumstances.
2015-07-01 09:19:51 +02:00
Gina Häußge
e60cdc9d0f Adjusted bundled plugins to new data folder method 2015-06-24 14:33:33 +02:00
Gina Häußge
be423e49fd Remove dependency_links support again
Doesn't work reliably across pip versions, and adding a special rule for each and every version also isn't fun. Plugin authors will need to use a different approach for pulling in dependencies that are not on pypi during install, e.g. extra install urls or something like that. For now, I give up here ;)
2015-06-23 16:22:45 +02:00
Gina Häußge
ac151d9019 Software Update: Use new PipCaller class and only provide dependency-links parameter if supported by pip version 2015-06-23 11:36:41 +02:00
Gina Häußge
e230cfb3f3 Software Update fix: Use pip command line instead of module 2015-06-22 13:07:22 +02:00
Gina Häußge
030b6b4478 Software Update: version cache will be written to disk
Reduces number of requests done against (rate limited) github API, especially after consecutive server restarts. Forcing the update check still will query the API.
2015-06-22 13:05:03 +02:00
Gina Häußge
0f818a313d Software Update: Default to pkg_resources for version comparison
That's also able to cope with 0.3a and similar "non-semantic" version schemes. Semantic version comparison can still be forced by setting the compare_type in the check to "semantic". Strict equality check can be set similarly by using the value "unequal".
2015-06-22 13:03:23 +02:00
Gina Häußge
33ea9c3459 Fix: Software Update config could contain circular reference
Caused by a wrong variable usage. Fixed the usage and added a migration
step that fixes the circular reference if it exists. Bumping configuration
version to 2.

Fixes #946
2015-06-21 12:27:33 +02:00
Gina Häußge
269f18a22f Software Update Fix: Only migrate config settings that are actually in the config 2015-06-19 22:26:22 +02:00
Gina Häußge
dedf3f234f super(...).on_settings_save(data) => octoprint.plugin.SettingsPlugin.on_settings_save(self, data) 2015-06-19 13:19:54 +02:00
Gina Häußge
f1be116190 SoftwareUpdate: Don't persist more check data than necessary in config
The SoftwareUpdate Plugin had a bug that caused way too much check data to be stored in the configuration, leading to plugins potentially being stuck in an "update available" loop although the update had already been applied. Now only the current version of github_commit update types is persisted, not the full check configuration.

Also introduced a configuration version and made the migration function migrate old configs to remove anything that was same as the default supplied for the "octoprint" and all plugin hook checks. That should clean things up in existing installations.
2015-06-19 11:12:24 +02:00
Gina Häußge
a26b203205 Enforce update of updateable software after plugin changes
When any plugins are enabled/disabled, the client now gets a trigger to fetch a fresh list of update information from the server. This should take care of any old popups still hinting at now uninstalled plugins.
2015-06-18 17:08:56 +02:00