Commit graph

1103 commits

Author SHA1 Message Date
Gina Häußge
7ea2ee2aa1 Rewrite urls in packed css and less files
See also #962
2015-07-08 16:34:42 +02:00
Gina Häußge
2a5ec3364e Fix: More resilience against missing plugin assets
Two changes:

  * Asset existence will now be checked before they get included
    in the assets to bundle by webassets, logging a warning if a
    file isn't present.
  * Monkey-patched webassets filter chain to not die when a file
    doesn't exist, but to log an error instead and just return
    an empty file instead.
2015-07-08 16:32:25 +02:00
Gina Häußge
377607cf12 Added button to cura settings to check validity of engine path 2015-07-08 13:36:56 +02:00
Gina Häußge
e2894c25b5 New util resource for testing paths and urls from the frontend 2015-07-08 13:36:29 +02:00
Gina Häußge
29b3b62c0d Removed unneeded parameter and added missing semicolon 2015-07-08 08:45:36 +02:00
Gina Häußge
4894c6ec44 Fixed preventDefault issues also for files search 2015-07-08 08:45:10 +02:00
Gina Häußge
02b68e2912 Merge branch 'pluginmanagersearch' of https://github.com/markwal/OctoPrint into pr/markwal/pluginmanagersearch
Conflicts:
	src/octoprint/translations/de/LC_MESSAGES/messages.mo
	src/octoprint/translations/de/LC_MESSAGES/messages.po
	translations/de/LC_MESSAGES/messages.mo
	translations/de/LC_MESSAGES/messages.po
	translations/messages.pot
2015-07-08 08:35:11 +02:00
Mark Walker
4a2cc5382d pluginmanager: case handling and submit binding
- Convert query term to lower case so that it is case insensitive both ways
    - Knockout submit binding takes the form element as parameter and return
    value determines whether the form submit occurs. See http://knockoutjs.com/documentation/submit-binding.html
2015-07-07 14:24:27 -07:00
Gina Häußge
a1e0078ce5 Updated translation
(cherry picked from commit 7d43bca)
2015-07-07 19:00:11 +02:00
Gina Häußge
a5bf3c3be1 Log serial write exceptions to octoprint.log
(cherry picked from commit 367ba06)
2015-07-07 18:39:54 +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
ced286854c Fixed sorting by size of file list
(cherry picked from commit 6906584)
2015-07-07 18:39:06 +02:00
Gina Häußge
7d43bca840 Updated translation 2015-07-07 18:37:55 +02:00
Gina Häußge
367ba06a83 Log serial write exceptions to octoprint.log 2015-07-07 18:30:27 +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
22d12ac54c Allow hiding plugins from Plugin Manager 2015-07-07 15:33:26 +02:00
Gina Häußge
1eb3f84bce Also handle partial timelapse settings gracefully
Server startup could fail if for whatever reason the timelapse settings
had lost their type value, since the dict was not merged with the
default values upon retrieval.
2015-07-06 17:06:30 +02:00
Gina Häußge
6906584892 Fixed sorting by size of file list 2015-07-06 17:04:55 +02:00
Gina Häußge
ea53fd368a settings().get(..) => settings().getBoolean(..) 2015-07-06 17:03:36 +02:00
Gina Häußge
3441431cdf Do only allow machinecode files for selection/printing 2015-07-06 10:49:24 +02:00
Gina Häußge
811ffc760f Added "pollWatched" setting to UI
(cherry picked from commit b8cf5ef)
2015-07-06 10:21:21 +02:00
Gina Häußge
549b60edb1 Allow polling for changes in watched folder
Some underlying file systems might not trigger change events (e.g.
mounted remote file systems). Added a feature flag to allow for
switching to a (less performant) polling method.
(cherry picked from commit f2df174)
2015-07-06 10:20:57 +02:00
Gina Häußge
3da54be6ea Merge branch 'test/pollingObserver' into devel 2015-07-06 08:40:31 +02:00
Gina Häußge
b8cf5ef83d Added "pollWatched" setting to UI 2015-07-06 08:40:13 +02:00
Gina Häußge
8735b10653 Better resilience against senseless polling intervals
(cherry picked from commit 6600d24)
2015-07-05 16:50:33 +02:00
Gina Häußge
6600d246b7 Better resilience against senseless polling intervals 2015-07-05 16:49:35 +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
f2df1748ef Allow polling for changes in watched folder
Some underlying file systems might not trigger change events (e.g.
mounted remote file systems). Added a feature flag to allow for
switching to a (less performant) polling method.
2015-07-05 09:38:09 +02:00
Gina Häußge
19b4a0f403 Fix: Always delete files from watched folder
Wasn't ensure previously when using file preprocessors.
2015-07-05 09:35:49 +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
ae73ebdcb3 PMGR: console_logger was not properly defined in init 2015-07-03 13:57:15 +02:00
Gina Häußge
6f24a2b6c5 New helper CommandlineCaller
Wraps sarge and allows asynchronous execution of commands incl. logging
to provided logging methods for stdout, stderr and command calls.

Refactored PipCaller to utilized that.
2015-07-03 13:56:31 +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
95c26a7850 Fix: Don't automatically persist or return _config_version
Should only ever be read or written by the plugin system itself, not
by on_settings_save or on_settings_load
(cherry picked from commit 77f7d59)
2015-07-02 15:27:35 +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
77f7d59c53 Fix: Don't automatically persist or return _config_version
Should only ever be read or written by the plugin system itself, not
by on_settings_save or on_settings_load
2015-07-02 15:21:05 +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
1ab0a00700 Fix for deriving base version for old setuptools
Old versions of setuptools return a tuple for their
pkg_resources.parse_version method instead of a Version object with
a base_version attribute that we can use to retrieve the base version.

So some manually parsing is needed instead.
2015-07-02 10:48:46 +02:00
Gina Häußge
fe35086ad7 PMGR: Make sure we use OP's base version for compatibility
OctoPrint's version might be a prerelease version ("...dev<n>"), we
want that to still be able to pass plugin compatibility checks like the
final release version would, so always use the base version of
OctoPrint's current version for comparison during compatibility checks.
2015-07-01 10:20:09 +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
33bd1acd47 We want to use pep440-post as default version scheme 2015-07-01 08:59:37 +02:00
Gina Häußge
537c205757 Use lowercase when matching extensions
(cherry picked from commit 29cee16)
2015-06-30 19:12:58 +02:00
Gina Häußge
f07b2477f5 Fixed some comments that were outdated
(cherry picked from commit 18816b6)
2015-06-30 19:12:52 +02:00
Gina Häußge
5e5531f6d8 Verify extension of uploaded language packs & plugins
Should be valid zip archives/tarballs. Also use only the extension
of an uploaded plugin archive as suffix for the temporary file that's
used for installing it.
(cherry picked from commit a1ff698)
2015-06-30 19:12:45 +02:00
Gina Häußge
eadc9ee795 Fix: We don't need the shell for pip
(cherry picked from commit 2db3228)
2015-06-30 19:12:37 +02:00
Gina Häußge
29cee16d3e Use lowercase when matching extensions 2015-06-30 19:04:14 +02:00
Gina Häußge
18816b6ea8 Fixed some comments that were outdated 2015-06-30 19:00:56 +02:00
Gina Häußge
a1ff6986ca Verify extension of uploaded language packs & plugins
Should be valid zip archives/tarballs. Also use only the extension
of an uploaded plugin archive as suffix for the temporary file that's
used for installing it.
2015-06-30 18:59:45 +02:00
Gina Häußge
2db32289f3 Fix: We don't need the shell for pip 2015-06-30 18:52:23 +02:00
Gina Häußge
7cd0adb922 Refreshed versioneer again 2015-06-30 15:15:49 +02:00
Gina Häußge
70eb490e02 Merge branch 'dev/versioneerUpdate' into devel
Conflicts:
	.versioneer-lookup
2015-06-30 15:03:04 +02:00
Gina Häußge
711810d18b Switched to new version of versioneer
Versions should now be PEP440 compatible.
2015-06-30 14:57:39 +02:00
Gina Häußge
2a8eea086c Only print command of event handler to log when debug flag is present
(cherry picked from commit 49d28c5)
2015-06-30 08:28:16 +02:00
Gina Häußge
49d28c58b3 Only print command of event handler to log when debug flag is present 2015-06-29 21:08:20 +02:00
Gina Häußge
bb0bfaee56 Fix: Increase max body size for plugin archives
Closes #957
(cherry picked from commit af89097)
2015-06-29 21:01:21 +02:00
Gina Häußge
af89097204 Fix: Increase max body size for plugin archives
Closes #957
2015-06-29 20:59:46 +02:00
Gina Häußge
b8209e8e09 Switch to pkg_resources for compatibility check
Plugin Manager now internally uses pkg_resources.parse_version and
pkg_resources.parse_requirements to check for version compatibility
with plugins from the repository. That will allow to directly use
the OctoPrint version string once it's PEP440 compatible.
(cherry picked from commit 8eb61a9)
2015-06-29 18:24:23 +02:00
Gina Häußge
8eb61a9926 Switch to pkg_resources for compatibility check
Plugin Manager now internally uses pkg_resources.parse_version and
pkg_resources.parse_requirements to check for version compatibility
with plugins from the repository. That will allow to directly use
the OctoPrint version string once it's PEP440 compatible.
2015-06-29 18:08:34 +02:00
Gina Häußge
b3e547c60f Fix: Don't reload page on search form submits
Both file search and plugin repository search reloaded the page when
hitting enter in the search field. This fixes that.
(cherry picked from commit 60043cc)
2015-06-29 17:40:15 +02:00
Gina Häußge
60043ccd1e Fix: Don't reload page on search form submits
Both file search and plugin repository search reloaded the page when
hitting enter in the search field. This fixes that.
2015-06-29 17:39:56 +02:00
Gina Häußge
137db0b17c Updating versioneer & switch to PEP440 versioning 2015-06-29 17:27:15 +02:00
Gina Häußge
1ead6e2d20 Fix: Ensure correct "upload date" for all added files
Local file storage implementation will now "touch" added files to set
modification date to current date, ensuring that files that are just
moved through a custom implementation of file object (e.g. through the
watched folder mechanism) will show with "now" as the upload date.
(cherry picked from commit 5f0c89c)
2015-06-29 10:35:33 +02:00
Gina Häußge
5f0c89c553 Fix: Ensure correct "upload date" for all added files
Local file storage implementation will now "touch" added files to set
modification date to current date, ensuring that files that are just
moved through a custom implementation of file object (e.g. through the
watched folder mechanism) will show with "now" as the upload date.
2015-06-29 10:34:55 +02:00
Gina Häußge
016bdd542a Fix: More flexibility when parsing plugin compatibility
If compatibility information is provided only as a version number it's
prefixed with >= for the check (so stating a compatibility of only
1.2.0 will now make the plugin compatible to all versions that follow
too).

Alternatively the compatibility information may now contain stuff like
">=1.2,<1.3" in which case the plugin will only be shown as compatible
to OctoPrint versions 1.2 and up but not 1.3 or anything above that.
(cherry picked from commit d5692d7)
2015-06-29 10:22:10 +02:00
Gina Häußge
4dc9d0a536 Fix: SD card errors shouldn't not cause disconnect
If the SD card fails to initialize with a volume.init failure, that's
not a reason to break off all diplomatic relations with the printer.
(cherry picked from commit 9caf13d)
2015-06-29 10:19:50 +02:00
Gina Häußge
d5692d797d Fix: More flexibility when parsing plugin compatibility
If compatibility information is provided only as a version number it's
prefixed with >= for the check (so stating a compatibility of only
1.2.0 will now make the plugin compatible to all versions that follow
too).

Alternatively the compatibility information may now contain stuff like
">=1.2,<1.3" in which case the plugin will only be shown as compatible
to OctoPrint versions 1.2 and up but not 1.3 or anything above that.
2015-06-29 10:13:44 +02:00
Gina Häußge
9caf13d620 Fix: SD card errors shouldn't not cause disconnect
If the SD card fails to initialize with a volume.init failure, that's
not a reason to break off all diplomatic relations with the printer.
2015-06-28 16:32:07 +02:00
Gina Häußge
4b11032567 Fix: Slicing profiles now can always be set as default
Previously depended on the slicer being already configured, which is not
really necessary.

Closes #956
(cherry picked from commit 13ac06c)
2015-06-28 02:24:57 +02:00
Gina Häußge
0c54eaf176 Fix: Use Exception, not BaseException
Custom exception should be derived from Exception, not BaseException.

Not only is this specified in the python documentation, but also
tornado will be able to handle Exceptions in requests perfectly fine
and return an HTTP 500 for them, but crash hard (as in, server shut
down follows) for BaseExceptions.
(cherry picked from commit 29b047b)
2015-06-28 02:24:47 +02:00
Gina Häußge
13ac06c6dc Fix: Slicing profiles now can always be set as default
Previously depended on the slicer being already configured, which is not
really necessary.

Closes #956
2015-06-28 02:21:30 +02:00
Gina Häußge
29b047bf09 Fix: Use Exception, not BaseException
Custom exception should be derived from Exception, not BaseException.

Not only is this specified in the python documentation, but also
tornado will be able to handle Exceptions in requests perfectly fine
and return an HTTP 500 for them, but crash hard (as in, server shut
down follows) for BaseExceptions.
2015-06-28 02:19:28 +02:00
Gina Häußge
1796c92913 Fix: Cleanly exit on SIGTERM
(cherry picked from commit 401ebcf)
2015-06-25 15:19:58 +02:00
Gina Häußge
401ebcf685 Fix: Cleanly exit on SIGTERM 2015-06-25 15:18:33 +02:00
Gina Häußge
198d3450d9 Merge branch 'master' into devel 2015-06-25 10:43:07 +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
67a0fd11dd PluginSettings.get_plugin_data_folder moved to OctoPrintPlugin.get_plugin_data_folder
That way plugins don't need to implement the SettingsPlugin mixin in order to access their data folder, which is now an injected property in OctoPrintPlugin. Plugin authors should still always use the getter since that will also make sure the folder actually does exist (lazy creation).

PluginSettings.get_plugin_data_folder has been marked as deprecated.
2015-06-24 13:59:45 +02:00
Gina Häußge
fca8becb20 More informative errors when serial connection fails 2015-06-24 08:55:27 +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
5decb23f23 Plugin Manager: color coding call/stdout/stderr in install/uninstall logs 2015-06-23 11:37:07 +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
71ccc47717 Plugin Manager: Use new PipCaller class and only provide dependency-links parameter if supported by pip version 2015-06-23 11:36:27 +02:00
Gina Häußge
b32f9bddd2 New util class for performing pip calls
Will lookup the correct pip command to use if not provided as constructor parameter and determine the version. Implements __lt__, __le__, __gt__ and __ge__ for "less/greater than" checks against the pip version, for dynamicalle changing call parameters provided to the execute method based on availability.

 Will allow adjusting software update and plugin manager plugins to only use --process-dependency-links for pip versions >= 1.5
2015-06-23 11:35:23 +02:00
Gina Häußge
1a7193e113 System commands with ignore set to true also ignore http errors 2015-06-22 16:55:32 +02:00
Gina Häußge
a580482c29 Allow asynchronous system commands & commands w/ ignored result
That should get rid of error messages for things like shutdown commands.
2015-06-22 14:28:05 +02:00
Gina Häußge
f00248bc4d Merge branch 'master' into devel 2015-06-22 13:19:49 +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
326fc943b7 Plugin Manager: Cache repository list locally
Reduces requests against github upon server restarts.
2015-06-22 13:00:29 +02:00
Gina Häußge
7e6ddaf0d6 Plugins can now have a folder for plugin related data
Path can be queried from settings.
2015-06-22 12:59:39 +02:00
Gina Häußge
22710ccfb3 Show overlay when a new server version is detected
That's more user friendly than just blindly reloading the page. Also include installed Template- and AssetPlugins in the check whether there's a new version or not.
2015-06-21 18:02:16 +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
e722c2f8ad Sanity check: verify that plugin settings data jsonifies without error
More resilience which apparently is necessary as witnessed in #946
2015-06-21 00:32:59 +02:00
Gina Häußge
1c99bccef9 Updated german translation 2015-06-20 01:05:18 +02:00
Gina Häußge
61bd803942 Fix: Properly report if a plugin simply could not be found after installation
Also more resilience towards odd version numbers that get mangled by python's package management (1.2.3a0 => 1.2.3a)
2015-06-20 00:56:26 +02:00
Gina Häußge
2f5c3570dd More verbose logging for analyzer 2015-06-20 00:01:59 +02:00
Gina Häußge
c6cb430594 Throttle gcode analysis a bit for low prio entries
Give the Pi's CPU a bit air to breathe...
2015-06-19 22:33:26 +02:00
Gina Häußge
0e60b26048 Config migration must happen after all plugin implementations are initialized
Introduced new callback for settings plugin to hook into the point after the settings have been migrated since the initialize method is not suitable for that as it might be called before other plugin implementations reachable through hooks are initialized.
2015-06-19 22:31:05 +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
7c74aa4c4d Allow ignoring of settings defaults when retrieving values 2015-06-19 22:25:42 +02:00
Gina Häußge
a6c1084b14 Fix: Only try to delete a key in the settings that's actually there 2015-06-19 21:52:03 +02:00
Gina Häußge
65ae48d992 Merge branch 'master' into devel 2015-06-19 19:21:44 +02:00
Gina Häußge
4abd97df09 File manager will now migrate analysis result from old metadata
That should make the initial startup after switching to 1.2.0 way faster.
2015-06-19 19:19:02 +02:00
Gina Häußge
904a3cdaff super(...).method(...) => BaseClass.method(self, ...) 2015-06-19 15:25:37 +02:00
Gina Häußge
f58d63bb49 pluginmanager: Reset flag for repository_available when refreshing it 2015-06-19 15:20:25 +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
633d1ae594 Fix: capture TypeError caused by dynamic reloading on settings save and load
Usage of super(MyClass, self) is henceforth discouraged due to dynamic reloading within OctoPrint's plugin subsystem. Refer to https://thingspython.wordpress.com/2010/09/27/another-super-wrinkle-raising-typeerror/ for details on this problem.

Action by plugin authors is needed to remove the super(...) call and substitute it with octoprint.plugin.SettingsPlugin.on_settings_save(self, data) and octoprint.plugin.SettingsPlugin.on_settings_load(self). Without these modifications, calls to plugin methods utilizing super(...) will fail after a call to the plugin managers reload_plugins method.

Closes #942
2015-06-19 13:18:21 +02:00
Gina Häußge
0846a0fed0 Fix: Wrong parameter order 2015-06-19 11:24:37 +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
d5af7b9b48 SettingsPlugins may now track configuration versions
OctoPrint will take care of calling a migration function on the plugin if the plugin demands a newer configuration version than currently stored in config.yaml.
2015-06-19 11:10:07 +02:00
Gina Häußge
e55677da22 Plugin system now support pre/post implementation init methods 2015-06-19 11:09:08 +02:00
Gina Häußge
9f4a74cca0 Fix: setting defaults supplied to set/get from plugins are no longer overwritten 2015-06-19 11:08:11 +02:00
Gina Häußge
b40cba659a Fix: defaults are now correctly applied when setting config for plugins 2015-06-19 11:06:51 +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
Gina Häußge
6e90c9d730 Reintroduced minification
Still opt-in though.
2015-06-18 13:49:40 +02:00
Gina Häußge
31d7eaad90 Add ";" delimiters between bundled JS files
This is to make sure that they all end on a ; and hence stuff doesn't break if a file included directly after starts with a (...) construct. Of course it would be better if all bundled files are valid in that matter, however since we can't enforce that, we'll add this slight overhead to reduce the risk of stuff breaking.

See for example: http://stackoverflow.com/questions/20307462/js-cant-combine-lib-files
2015-06-18 13:00:18 +02:00
Gina Häußge
0d886ab6f1 Revert cbd3b1424b
That was a bit too early and an accident caused by a too fast "OK" in IntelliJ (as quite visible from the completely unrelated commit message)
2015-06-18 12:11:54 +02:00
Gina Häußge
cbd3b1424b Default to full platform compatibility 2015-06-18 12:05:11 +02:00
Gina Häußge
0ce1575e12 Don't allow plugin management while the printer is printing 2015-06-18 11:37:08 +02:00
Gina Häußge
268886576f More resilience against wonky plugin compatibility data
(cherry picked from commit 5ed37e0)
2015-06-18 09:31:11 +02:00
Gina Häußge
5ed37e0db1 More resilience against wonky plugin compatibility data 2015-06-18 09:30:25 +02:00
Gina Häußge
1a1e3f2d8a Merge branch 'master' into devel 2015-06-17 18:44:04 +02:00
Gina Häußge
cbc6f20fa6 Split assets up a bit to allow better debugging of issues with webassets 2015-06-17 18:43:38 +02:00
Gina Häußge
98122322a8 Merge branch 'master' into devel 2015-06-13 19:40:15 +02:00
Gina Häußge
608be52b9a softwareupdate: plugins may now specify that they have dependency links
Update plugin will then also process those during pip install. Was missing previously and caused Pushbullet Plugin to not properly update.
2015-06-13 19:36:28 +02:00
Gina Häußge
8e5c383c37 Merge branch 'master' into devel 2015-06-11 22:02:59 +02:00
Gina Häußge
46711ce365 pluginmanager: Support installing plugins that need --process-dependency-links
This might be necessary when plugins depend on (patched) library versions that are not yet released on PyPI
2015-06-10 19:34:33 +02:00
Gina Häußge
8353c9bdf5 Better fix for #931, stays backwards compatible to older setuptools versions
python-setuptools on OctoPi is quite old and trying to update in a local virtualenv apparently CAN cause problems (we had this with python-serial too a while back), so a backwards compatible solution is better here.
2015-06-10 17:25:23 +02:00
Gina Häußge
496828482d Allow specifying a target path for generating language packs with babel_pack 2015-06-10 17:14:14 +02:00
Gina Häußge
d2cd459f26 Marked deprecated PluginSettings.getInt etc methods as to remove with 1.3.0 2015-06-10 09:43:10 +02:00
Gina Häußge
06fb249f2e Send frontend translations with javascript mime type
Thanks @markwal
2015-06-10 09:14:39 +02:00
Gina Häußge
d9cbf786d5 Fix: Don't depend on presence of String.prototype.startsWith
Instead use direct comparison with "divider" (matches docs more closely anyhow)
2015-06-09 22:33:18 +02:00
Gina Häußge
5d5c3d74c1 softwareupdate: re-fetch check data on plugin lifecycle events
If plugins get enabled or disabled, the update check configuration needs to be refetched next time it's needed since there might have been changes to plugin implementing the check_info hook.
2015-06-09 19:03:38 +02:00
Gina Häußge
592cad5b99 Deprecated AppPlugin mixin and introduced octoprint.accesscontrol.appkey hook instead
Plugins implementing the mixin will automatically be migrated to providing the single mixin method as hook handler.
2015-06-09 18:50:55 +02:00
Gina Häußge
228fb21ceb softwareupdate: Also allow {target} in pip install urls, as a synonym for {target_version} 2015-06-09 17:33:41 +02:00
Gina Häußge
f813e6317b Updated and bundled german core translation 2015-06-09 15:00:43 +02:00
Gina Häußge
51cc994610 softwareupdate: Slight rewording of "current versions" information 2015-06-09 14:59:52 +02:00
Gina Häußge
7ae83a4031 Moved software update plugin into "OctoPrint" settings section 2015-06-09 14:59:09 +02:00
Gina Häußge
8696ce9291 Fix: Bundled plugins always take precedence over external ones 2015-06-09 13:54:21 +02:00
Gina Häußge
2e6240a910 Bundled Software Update Plugin 2015-06-09 13:35:03 +02:00
Gina Häußge
cd390a53af Updated links in footer 2015-06-09 13:04:29 +02:00
Gina Häußge
ef1c9724c7 Fix: Include all packages for a plugin during setup, not only the topmost one
Thanks @Salandora
2015-06-09 12:47:37 +02:00
Gina Häußge
a9d5e1643d Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2015-06-09 11:00:55 +02:00
Gina Häußge
f00c8bba33 Frontend: All number inputs are now right-aligned 2015-06-09 10:51:59 +02:00
Gina Häußge
d43ead5b34 Frontend: Added option to allow partial settings save with callback
That's useful for plugins which only want to allow editing a selected segment of the whole settings set.
2015-06-09 10:51:20 +02:00