Commit graph

2571 commits

Author SHA1 Message Date
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
Gina Häußge
13cda74ebc Merge pull request #924 from Salandora/systemCommandsDivider
Addded possibility to add dividers to System Command Menu
2015-06-05 11:26:42 +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
b04be6d194 Updated transifex config file to point to new translation directory 2015-06-02 15:50:27 +02: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
Gina Häußge
e8c37287fe Forgot a dependency for the bundled plugin manager
Thanks to @Salandora for the heads-up
2015-05-31 11:10:40 +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
Gina Häußge
71319942d9 Fix: Don't have plugin i18n paths overwrite the core i18n path
Stopped translations bundled with OctoPrint to work
2015-05-29 18:23:16 +02:00
Gina Häußge
ff9765f668 Fixed font size in plugin manager's repository options 2015-05-29 16:46:22 +02:00
Gina Häußge
caef322b65 The Plugin Manager is now bundled with OctoPrint 2015-05-29 16:31:43 +02:00
Gina Häußge
a42868d7eb Allow marking plugins as uninstalled
Sometimes they will still get discovered by python even though their packages have since been uninstalled.
This will also lead to them being reloaded after an uninstall and a subsequent plugin reload.

Marking them as uninstalled and not handing out uninstalled plugins when collecting them solves this.
2015-05-29 16:25:18 +02:00
Gina Häußge
0143911fe1 Added an EditorConfig file
See http://editorconfig.org/
2015-05-29 11:58:36 +02:00
Gina Häußge
f2192ba232 Fix: Re-open detected serial port with specified baudrate
The serial port was previously kept open from the Stk500 initialization, which defaults to 115200 baud.

Closes #892
2015-05-29 11:36:36 +02:00
Gina Häußge
1a80aa854f Fix: "gcode" var was not properly parsed for queuing and queued command phases
Thanks @C-o-r-E for the heads-up
2015-05-28 20:20:51 +02:00
Gina Häußge
42e32487da Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2015-05-28 19:17:26 +02:00
Gina Häußge
1e3f75c852 Merge branch 'rotate90' of https://github.com/markwal/OctoPrint into pr/markwal/rotate90
Conflicts:
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/less/octoprint.less
2015-05-28 19:14:02 +02:00
Gina Häußge
1e65335173 Merge pull request #914 from aerickson/scripts_set_priority
scripts: init and default files now specify a process priority.
2015-05-28 17:59:27 +02:00
Gina Häußge
61af59cca1 New hooks for command processing in comm layer
Added phase specific hooks for queuing, queued, sending and sent phases of a command ("octoprint.comm.protocol.gcode.<phase>"). Removed old queuing phase hook and declared as obsolete hook in plugin manager to prevent plugins that depend on it from being enabled.

Adding those new hooks also necessitated refactoring the whole command processing, made it more modular and added phase specific handler functions that allow handling all blocking commands centrally for example.
2015-05-28 17:06:24 +02:00
Gina Häußge
1458503561 Logging for the virtual printer... 2015-05-28 17:03:03 +02:00