Commit graph

1438 commits

Author SHA1 Message Date
make-ing
28c365a780 fixed wrong scale display bug 2015-09-17 15:01:13 +02:00
make-ing
c1355e4581 changed octoprint branch back to stable-1.2.2 and changed cache_ttl to 12 hours (12*60) 2015-09-15 15:49:12 +02:00
make-ing
5bbae83367 changed restart to octoprint type 2015-09-15 15:35:07 +02:00
make-ing
9c837b1266 changed restart type to environment 2015-09-15 14:50:30 +02:00
make-ing
3bf5540675 coma bug fix and back to None update type 2015-09-15 14:31:12 +02:00
make-ing
b71f0a7cee changed rastart value of svgtogcode to octoprint 2015-09-15 14:23:03 +02:00
make-ing
2f4e18fceb added restart value None to svgtogcode update 2015-09-15 14:07:21 +02:00
make-ing
27b755326a changed defualt value of current form None to Unknown 2015-09-15 12:23:57 +02:00
make-ing
823b7be3f8 added default value for current to None 2015-09-15 12:13:21 +02:00
make-ing
e4a141d7e7 deleted unnesacery lines 2015-09-14 17:53:49 +02:00
make-ing
cecc9bb633 changed from update_folder to checkoutfolder for github_commit type 2015-09-14 16:00:55 +02:00
make-ing
650006b5db deleted restartCommand and rebootCommand 2015-09-14 15:11:15 +02:00
make-ing
3d68517cd7 added octoprintUnconfigured and octoprintUnreleased ko.observable() 2015-09-14 15:03:32 +02:00
Gina Häußge
d7485d288e cherry picked from 93763a5563 foosel/OctoPrint 2015-09-14 14:52:15 +02:00
Gina Häußge
fc63f95385 Also provide branch info to UI/on socket
(cherry picked from commit cc8dcef)
2015-09-14 13:05:25 +02:00
Gina Häußge
d0fadb1b6f atomic_write context to save configs first to temp file, then move
Should prevent corruption of files
(cherry picked from commit c6d0290)
2015-09-14 12:17:17 +02:00
make-ing
10dc7e4976 changed dafault update branch to grblautoupdate for testing 2015-09-14 11:58:27 +02:00
Gina Häußge
cacc6524a1 cherry-pick 13d7d5f2f6 from foosel/OctoPrint 2015-09-14 11:13:19 +02:00
make-ing
2a2696ff9a added new update script git-pull.py to update_script setting 2015-09-11 14:55:57 +02:00
make-ing
65bff81d35 added ne update script git-pull (copied from update-octoprint.py) 2015-09-11 14:52:58 +02:00
make-ing
912bb4ab1f changed update_script 2015-09-11 13:33:27 +02:00
make-ing
2db9724004 changed update_script 2015-09-11 12:34:14 +02:00
make-ing
f094056590 changed update_script string 2015-09-11 12:27:47 +02:00
make-ing
30a5a45147 changed update_script to "cd {target}; git pull" 2015-09-11 11:45:05 +02:00
make-ing
4b29593877 changed empty update_script string to pwd 2015-09-11 11:28:13 +02:00
make-ing
aa918ad980 added update_script and restart key to default values 2015-09-11 11:18:56 +02:00
make-ing
2f04ef43d5 changed all plugin branches to stable-1.2.2 2015-09-11 11:00:25 +02:00
make-ing
304c0919a7 chaned defualt settings in update software 2015-09-10 11:52:17 +02:00
Gina Häußge
6132fe2da9 SWU: Don't use display versions for "current" in github_commit configs
(cherry picked from commit 58c6abc)
2015-09-10 11:41:42 +02:00
make-ing
17f7e1171d changed default settings for testing 2015-09-10 10:50:34 +02:00
make-ing
48cbe8eded added update plugin default values from old config.yml 2015-09-09 15:14:31 +02:00
make-ing
2cb5b0246c fixed grbl travel settup problem when switching to senior 2015-09-09 14:06:30 +02:00
make-ing
d37ce77460 fixed position update bug after grbl flashing 2015-09-09 12:45:24 +02:00
make-ing
bb964b3d75 added new grbl.hex and changed the grblVersionRequirement.yml accordingly 2015-09-08 17:54:06 +02:00
make-ing
1052141be4 changed default settings of serial port to /dev/MrBeam 2015-09-08 14:40:50 +02:00
make-ing
469f2cb3f1 removed debug messages after avrdude bug fix 2015-09-07 15:59:58 +02:00
make-ing
dabcca4297 try to fix grbl flashing problem on pi 2015-09-07 11:07:05 +02:00
make-ing
e5cc1361c6 fixed grbl version string bug; fixed grbl.hex not found flashing bug 2015-09-05 13:09:57 +02:00
Teja
c482a487f6 bugfix. path of grblVersionString was wrong. 2015-09-04 20:02:54 +02:00
Teja
4f655bf306 Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2015-09-04 18:58:27 +02:00
Teja
5554fc258e bugfix. don't send eeprom writing commands during printing 2015-09-04 18:57:55 +02:00
make-ing
6f1c9ed8d9 changed grbl version regex to be non-greedy 2015-09-04 18:14:55 +02:00
make-ing
bc4e0f2e35 *try to fix grbl version bug (No such file or directory: 'src/octoprint/util/grblVersionRequirement.yml') with change in setup.py and moving of grblVersionRequirement.yml and grbl.hex into new grbl folder 2015-09-04 18:10:33 +02:00
make-ing
d714e907c5 Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2015-09-04 17:27:32 +02:00
make-ing
46347cc95b fixed grbl version regexp bug 2015-09-04 17:26:45 +02:00
Teja
85b43b5598 Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2015-09-04 12:23:30 +02:00
Teja
a0f7fddec7 bugfix. 2015-09-04 12:23:12 +02:00
make-ing
5b70cfb3e5 changed error handling of grbl flashing to only flash once and if an error
occurs the state is changed to STATE_CLOSED_WITH_ERROR
2015-09-04 11:40:22 +02:00
Teja
010e2cfa92 flashing visualization fixed. uploaded up to date grbl version. 2015-09-04 11:15:36 +02:00
Teja
1c018ec277 added visual flashing bar. 2015-09-02 12:04:21 +02:00
make-ing
28bf9364f6 working version of flashing ui 2015-09-02 11:04:38 +02:00
make-ing
f4e0801853 added flashing state to ui (not working) 2015-09-02 10:38:51 +02:00
make-ing
39bd1b4375 added functionality to send new working area size to grbl after change of profile 2015-09-01 17:15:36 +02:00
Teja
54af60cdd2 new blueprint API from octoproint v2 plugin interface. improved usability. 2015-09-01 13:06:50 +02:00
make-ing
221c6de990 Merge branch 'grblautoupdate' into mrbeam 2015-09-01 08:53:31 +02:00
Teja
9ab6650b07 fixes #43 2015-08-31 20:10:51 +02:00
Teja
11ab4509cb moved grbl binary to a non-machine-specific name 2015-08-31 18:47:24 +02:00
make-ing
0632bb5fdf -added new machine state (STATE_FLASHING)
-added required grbl hex file to flash
2015-08-27 15:10:05 +02:00
make-ing
4e76574bb9 added grbl version comparison and check to see if required version is detected.
If the right grbl version is not detected, the arduino is flashed with the right
hex file.
2015-08-25 16:46:32 +02:00
Teja
ed82f46f57 bugfix. disable convert button during slicing 2015-08-22 18:51:56 +02:00
Teja
7c9fbda690 updated safety notice 2015-08-22 17:16:21 +02:00
Teja
cf70b4e80a bugfix. fan must be switched on before any gcode file is streamed. 2015-08-20 15:34:20 +02:00
Teja
060b967efc pierce time support for img engraving. 2015-08-16 15:10:46 +02:00
Teja
236d2cd7fc explanations for the conversion popup. 2015-08-16 13:58:10 +02:00
Teja
86570f7e4d code cleanup 2015-08-16 12:45:18 +02:00
Teja
d5c1a8178a bugfix. focus mode disabling disables timeout as well. 2015-08-16 12:38:09 +02:00
Teja
8bb698c886 improved preview of gcode generated through img2gcode 2015-08-16 11:43:28 +02:00
Teja
b2555d3850 slicing progress visualized 2015-08-15 21:54:47 +02:00
Teja
45a42c4972 got rid of the gcode viewer - not in use here. 2015-08-15 19:39:51 +02:00
Teja
01d1f5b181 conversion progress reporting 2015-08-15 18:16:56 +02:00
Teja
517ea1a007 more performant gcode visualization for raster-gcode. disabled gcode analysis of octoprint. direct call of gcode generation scripts 2015-08-15 16:57:49 +02:00
Teja
9980030a51 fixes initial image size after placing 2015-08-13 20:07:52 +02:00
Teja
81e5c795a8 bugfix. line width parameter passed correct. 2015-08-13 16:36:08 +02:00
Teja
cdc744537d max values for sharpening and contrast 2015-08-13 12:18:49 +02:00
Teja
0bf06885dc configurable max values for sharpening and contrast. code cleanup 2015-08-13 11:10:43 +02:00
Teja
233f426dff minor ui fixes 2015-08-12 11:42:19 +02:00
Teja
4ac1707052 minor us fixes, photo attribution 2015-08-12 09:31:50 +02:00
Teja
383326932e explanatory preview for contrast, sharpening and dithering 2015-08-10 22:43:45 +02:00
Teja
b2a9c392fe passing forward the image engraving parameters 2015-08-09 17:40:05 +02:00
Teja
18fc2fd68e little bugfix. text in the working area is not selectable anymore. 2015-08-07 16:37:12 +02:00
Teja
572425b52b all parameters for image engraving are now in the ui. 2015-08-07 16:28:32 +02:00
Teja
8adf72a4be images can be placed on the working area, rotated and translated. 2015-08-06 22:45:55 +02:00
Teja
4879aafb72 logging update check. 2015-08-06 17:23:49 +02:00
Teja
0d83eaf1e3 bugfix. returning now tuples. 2015-08-06 16:03:18 +02:00
Teja
493612a47f connecting to a already homed grbl works. 2015-07-17 11:34:11 +02:00
Teja
9460f78d12 code cleanup. fixed drag n drop of svgs. fixed gcode file list entries 2015-07-17 09:56:36 +02:00
Teja
1f2f29336e bugfix. detecting empty 'd' attribute now correct. 2015-07-16 11:58:52 +02:00
Teja
c70b446d65 bugfix. catching emtpy path attribute d. 2015-07-16 11:43:09 +02:00
Teja
cb512a257c fixed re-connection bug when grbl already has a position. 2015-07-16 10:03:54 +02:00
Teja
f023dc99d4 default settings for update 2015-07-15 12:45:38 +02:00
Teja
49fece1e14 return home after print done 2015-07-15 12:45:18 +02:00
Teja
131e99adbe default branch is "mrbeam-stable" instead of "master" 2015-07-15 11:54:03 +02:00
Teja
6a7a6f0ff2 instant save working on connection timeout 2015-07-15 09:56:36 +02:00
Teja
98eaab755f fixed image paths 2015-07-14 22:11:52 +02:00
Teja
79587644b4 fixed update source and deprecation warnings 2015-07-14 21:33:13 +02:00
Teja
7f5d45efdc fixed confirmation dialog. 2015-07-11 16:54:52 +02:00
Teja
7dcf2f38e2 upload button visible again. progress bar fix. 2015-07-11 16:25:32 +02:00
Teja
0ae0390dcf finally working implementation of ACC in the latest comm.py 2015-07-11 15:48:53 +02:00
Teja
0725ee23f3 cancelling print working. 2015-07-11 15:44:00 +02:00
Teja
23d29b29ba minor ui changes 2015-07-11 15:40:02 +02:00
Teja
08ab894ead support for ! and ~ commands 2015-07-11 10:10:39 +02:00
Teja
fee7b32413 basic acc attached. missing ! ~ command support. 2015-07-11 00:36:35 +02:00
Teja
64c0c0d473 just a test. inject acc to upstream comm.py 2015-07-10 23:35:56 +02:00
Teja
dffb123d0e little ui fixes. restart button removed as it was not working. 2015-07-09 18:05:01 +02:00
Teja
f842809db8 code cleanup 2015-07-09 17:02:58 +02:00
Teja
c1567b6742 enabled terminal filters per default 2015-07-09 16:59:44 +02:00
Teja
691d8e8d85 log is ignoring filtered messages. 2015-07-09 16:42:38 +02:00
Teja
7b548763f5 way faster update of laser position. 2015-07-09 16:12:54 +02:00
Teja
3b30e25e60 pause from web ui sends ! and M5 now 2015-07-08 20:56:32 +02:00
Teja
1e00eb55f9 bugfix. fix placement works better now. deprecation warnings fixed. 2015-07-08 11:56:34 +02:00
Teja
14fb9b9665 bugfix. validating NaN correct now 2015-07-08 11:25:04 +02:00
Teja
fc4f2340fe fixed limit hit warning and reconnect after. 2015-07-07 18:44:29 +02:00
Teja
4469f69cab settings fixed 2015-07-07 11:50:39 +02:00
Teja
af6310f5d3 position update works again 2015-07-06 19:36:18 +02:00
Teja
6148b82b7f focus mode works again 2015-07-06 17:11:32 +02:00
Teja
f0c5173dd1 fixed search and filter 2015-07-06 14:46:04 +02:00
Teja
31f2cbb64b files search works again. wip 2015-07-04 18:07:23 +02:00
Teja
867895ab81 terminal fixed 2015-07-04 17:06:46 +02:00
Teja
44671cfb40 WIP. slicing working again. 2015-07-04 16:19:56 +02:00
Teja
fa1bad7b7c wip 2015-07-03 17:08:15 +02:00
Teja
90b20d0be6 wip 2015-07-03 12:20:38 +02:00
Teja
a7acc7f7f4 Merge remote-tracking branch 'upstream/maintenance' into upstream_merge
Conflicts:
	requirements.txt
	src/octoprint/filemanager/__init__.py
	src/octoprint/plugins/cura/profile.py
	src/octoprint/plugins/cura/static/js/cura.js
	src/octoprint/plugins/cura/templates/cura_settings.jinja2
	src/octoprint/plugins/svgtogcode/__init__.py
	src/octoprint/printer/__init__.py
	src/octoprint/server/__init__.py
	src/octoprint/server/api/files.py
	src/octoprint/server/api/printer.py
	src/octoprint/server/api/settings.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/appearance.js
	src/octoprint/static/js/app/viewmodels/connection.js
	src/octoprint/static/js/app/viewmodels/control.js
	src/octoprint/static/js/app/viewmodels/files.js
	src/octoprint/static/js/app/viewmodels/gcode.js
	src/octoprint/static/js/app/viewmodels/printerstate.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/static/js/app/viewmodels/terminal.js
	src/octoprint/templates/dialogs/settings.jinja2
	src/octoprint/templates/dialogs/settings/serialconnection.jinja2
	src/octoprint/templates/index.jinja2
	src/octoprint/templates/navbar/settings.jinja2
	src/octoprint/templates/stylesheets.jinja2
	src/octoprint/util/comm.py
2015-07-02 22:36:30 +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
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
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
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
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
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
Teja
a205c352ad made local translation text permanent 2015-06-29 17:10:31 +02:00
Teja
0cc04b9a89 better placement of the make it fit function. 2015-06-29 16:28:36 +02:00
Teja
463b0de306 bugfix. make it fit doesn't ignore local transforms anymore. 2015-06-29 15:47:34 +02:00
Teja
1c861fc1d0 local transformation displayed in mm. 2015-06-29 12:24:20 +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
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
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
Teja
0a919c45d8 visualization of local transform 2015-06-27 23:10:18 +02:00
Teja
2051f7ef8b snapping to fixed angles / scales with shift key. 2015-06-26 12:07:57 +02:00
Gina Häußge
401ebcf685 Fix: Cleanly exit on SIGTERM 2015-06-25 15:18:33 +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
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
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
Teja
2e491b752e code cleanup 2015-06-17 21:31:40 +02:00
Teja
99ec1d6d8c rotate & scale accessible from file list 2015-06-17 21:02:36 +02:00
Teja
856adf3f94 visual fix. 2015-06-17 20:38:56 +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
Teja
7579486735 small improvements in the file list. 2015-06-16 16:19:29 +02:00
Teja
67c44e3ec0 prepared tests for designs misfitting the working area. 2015-06-16 15:54:15 +02:00
Teja
2501813dad fixed bug. drag & scale works now with unscaled mouse coords. 2015-06-16 13:01:33 +02:00
Teja
7c11c04234 bugfix. reset the character counter after machine reset properly. 2015-06-16 12:31:34 +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
Teja
e9ea9670d7 indifferent handle size for junior / senior. 2015-06-13 15:02:40 +02:00
Teja
565f86c72b drag, scale and rotate designs. 2015-06-11 17:13:43 +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
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
Gina Häußge
4b896fc327 Fixed webassets cache method to not hiccup on vanished files
Utilizing a monkey patch to catch ENOENT errors when calculating the hash of cached files.
2015-06-09 10:49:59 +02:00
Gina Häußge
be5a5f3c69 Fix: Also take configuration changes into account for update-necessary-check on assets
This way, changes to the minify parameter actually change behaviour...
2015-06-08 18:06:45 +02:00
Gina Häußge
fde543f19e [doc] octoprint.ui.web.templatetypes hook is now documented 2015-06-08 12:05:29 +02:00
Gina Häußge
804d832544 Made name entry for Plugin Manager settings dialog translateable 2015-06-08 08:22:40 +02:00
Gina Häußge
bbba7f2817 Assets are no longer needed in index view renderer
They are now bundled via Flask-Assets instead
2015-06-08 08:22:11 +02:00
Marc
9753a74db4 Addded possibility to add dividers to System Command Menu 2015-06-05 01:26:45 +02:00
Gina Häußge
a1568c43d3 Bundled german language pack 2015-06-04 10:18:20 +02:00
Gina Häußge
0d7d4cb142 Custom webassets filter that rewrites LESS imports
Need to point to ../less folder
2015-06-04 09:06:04 +02:00
Gina Häußge
8d3f933562 Fixed webassets cache method to also allow overwriting files under windows
Utilizing a monkey patch to swap os.rename for shutil.move, which also works if the target file already exists.
2015-06-04 09:05:31 +02:00
Gina Häußge
3dc0452a45 Adjusted docs to describe new web asset handling 2015-06-03 20:21:12 +02:00
Gina Häußge
261f6709a3 Depend on Flask-Assets 0.10
Compatibility adjustments and version pinning
2015-06-03 19:36:38 +02:00
Gina Häußge
b63f842210 Webassets are now written to ~/.octoprint/generated
Same holds true for cache files, so there should be no problem anymore with installs where the static folder is not writable.

Also introduced two new devel config vars to disable merging and minifying of the assets, solved the empty-less-bundle problem and made sure babel knows about the jinja extension.
2015-06-03 18:27:30 +02:00
Gina Häußge
55650cd416 AssetPlugins now necessitate a restart due to utilizing blueprints 2015-06-03 18:25:27 +02:00
Gina Häußge
157b78a052 WIP: Use Flask-Assets to merge js, css and less files
Should reduce number of requests and hence load times needed for loading web interface.

TODO: Handling of empty bundles needs to be fixed
2015-06-03 16:42:57 +02:00
Gina Häußge
db980689c8 Fixed GCODE viewer in zoomed out browsers
Closes #612
2015-06-03 13:25:30 +02:00
Gina Häußge
b714c59004 Allow specification of known long running commands through settings
This should allow users to adjust the behaviour of the communication stack more granularly in case the regular settings which only consider G4, G28, G29, G30, G32 to be real long runners without output are not sufficient.
2015-06-03 12:34:00 +02:00
Gina Häußge
d2bca10ac9 Slight refactoring of API key evaluation in restricted_access decorator
Actual test whether key is provided or not happens in before_request handler of flask app, hence the more granular processing in the decorator was unecessary since around november '14. Adjusted to only do the actual processing necessary to replicate login_required behaviour/login users if necessary.

Closes #516 (actually, that was solved since introduction of the before_request handler which took that work off the hands of the decorator, but now it's properly documented too)
2015-06-03 11:55:32 +02:00
Gina Häußge
27dcef3e23 New approach to matching up installed packages with plugins
Match against entry_point origins using both package name and package name plus version. If one of those matches (depends on pip version if output will include version or not), it's the plugin we are looking for.

This way we don't need to try to strip a version number from the package name as output by pip without knowing if a version number is included or not.
2015-06-03 10:46:58 +02:00
Gina Häußge
ba5e99c187 Use namedtuple for plugin.origin data structure and include package version 2015-06-03 10:44:27 +02:00
Mark Walker
35f2c6d788 Pip result parsing version numbers and extra lines
Some pip invocations return extra info after the Successfully installed
(like "Cleaning up...").  Also, not all packages include a version
number in their package names.
2015-06-02 23:31:03 -07:00
Gina Häußge
da58b14124 Display a message when no additional language packs are installed 2015-06-02 14:41:56 +02:00
Gina Häußge
02b7085543 Merge branch 'dev/translationsAsPackages' into devel
Conflicts:
	src/octoprint/server/__init__.py
2015-06-02 13:58:40 +02:00
Gina Häußge
fb85b228f0 Merge branch 'dev/translationsAsPackages' of github.com:foosel/OctoPrint into dev/translationsAsPackages
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/util/flask.py
	src/octoprint/server/views.py
2015-06-02 13:46:10 +02:00
Gina Häußge
52dd2ad7ac Management dialog for language packs
Allows managing language packs of core OctoPrint and plugins.
2015-06-02 13:39:10 +02:00
Gina Häußge
5904d01bff Unbundled translations, added new tools to bundle and pack translations
The only translation that is going to be bundled with OctoPrint for now will be .de, if at all. The reason simply being that this is the only translation I can update myself and hence guarantee a good user experience for.

setup.py now offers two new commands, babel_bundle and babel_pack, with which translations for plugins and core OctoPrint can be automatically bundled or packed as language packs once compiled. This should make sharing translations quite easy in the future.
2015-06-02 13:38:08 +02:00
Gina Häußge
7f8a3849c7 Adjusted messages.js compilation, debugged new i18n handling and added logging 2015-06-02 13:31:41 +02:00
Gina Häußge
106b21f288 New hook for specifying custom template types
TODO: documentation
2015-06-01 11:41:54 +02:00
Teja
583a86a483 ux improvements 2015-05-31 16:14:11 +02:00
Gina Häußge
449dd4301e Allow translations to be stored in ~/.octoprint
That is the first step towards downloadable (and separately managed) translation packages, decoupled from the software's release cycle and source control. Since it will be impossible to properly maintain all languages concurrently with OctoPrint's releases, decoupling that will hopefully increase the user experience through preventing broken translations (or stalling releases due to having to wait for the translations to be updated).
2015-05-29 19:44:11 +02:00
Gina Häußge
baf2a77e18 Updated German translation 2015-05-29 18:49:20 +02:00
Gina Häußge
ab1d28bb27 Removed some outdated code from the cura settings dialog 2015-05-29 18:48:58 +02:00