Merge branch 'maintenance' into devel

Conflicts:
	.versioneer-lookup
	CHANGELOG.md
	src/octoprint/plugins/pluginmanager/__init__.py
	src/octoprint/util/__init__.py
This commit is contained in:
Gina Häußge 2015-07-23 12:22:02 +02:00
commit 795c2c87f5
4 changed files with 86 additions and 12 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.4
# maintenance is currently the branch for preparation of maintenance release 1.2.5
# so are any fix/... branches
maintenance 1.2.4 3761995aff94acf32495556730f133a1626245b3
fix/.* 1.2.4 3761995aff94acf32495556730f133a1626245b3
maintenance 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c
fix/.* 1.2.5 9a6099ffc2982455d631c9d68a3273d9eb55885c
# 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

@ -23,6 +23,38 @@
* It's not possible anymore to select files that are not machinecode files (e.g.
GCODE) for printing on the file API.
## 1.2.4 (2015-07-23)
### Improvements
* `RepeatedTimer` now defaults to `daemon` set to `True`. This makes sure
plugins using it don't have to remember to set that flag themselves in
order for the server to properly shut down when timers are still active.
* Fixed a typo in the docs about `logging.yaml` (top level element is
`loggers`, not `logger`).
* Support for plugins with external dependencies (`dependency_links` in
setuptools), interesting for plugin authors who need to depend on Python
libraries that are (not yet) available on PyPI.
* Better resilience against errors within plugins.
### Bug Fixes
* Do not cache web page when running for the first time, to avoid caching
the first run dialog popup along side with it. This should solve issues
people were having when configuring OctoPrint for the first time, then
reloading the page without clearing the cache, being again prompted with
the dialog with no chance to clear it.
* Fix/workaround for occasional white panes in settings dialog on Safari 8,
which appears to have an issue with fixed positioning.
* Fixed form field truncation in upload requests that could lead to problems
when trying to import Cura profiles with names longer than 28 characters.
* Fixed webcam rotation for timelapse rendering.
* Fixed user settings not reaching the editor in the frontend.
* Notifications that are in process of being closed don't open again on
mouse over (that was actually more of an unwanted feature).
([Commits](https://github.com/foosel/OctoPrint/compare/1.2.3...1.2.4))
## 1.2.3 (2015-07-09)
### Improvements
@ -231,7 +263,7 @@
changed under "Temperatures" in the Settings ([#343](https://github.com/foosel/OctoPrint/issues/343)).
* High-DPI support for the GCode viewer ([#837](https://github.com/foosel/OctoPrint/issues/837)).
* Stop websocket connections from multiplying ([#888](https://github.com/foosel/OctoPrint/pull/888)).
* New setting to rotate webcam by 90° counter clockwise ([#895](https://github.com/foosel/OctoPrint/issues/895) and
* New setting to rotate webcam by 90° counter clockwise ([#895](https://github.com/foosel/OctoPrint/issues/895) and
[#906](https://github.com/foosel/OctoPrint/pull/906))
* System commands now be set to a) run asynchronized by setting their `async` property to `true` and b) to ignore their
result by setting their `ignore` property to `true`.

View file

@ -1,17 +1,35 @@
OctoPrint
=========
[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=foosel&url=https://github.com/foosel/OctoPrint&title=OctoPrint&language=&tags=github&category=software)
OctoPrint provides a responsive web interface for controlling a 3D printer (RepRap, Ultimaker, ...). It is Free Software
and released under the [GNU Affero General Public License V3](http://www.gnu.org/licenses/agpl.html).
Its website can be found at [octoprint.org](http://octoprint.org).
The documentation is located at [docs.octoprint.org](http://docs.octoprint.org).
You are currently looking at the source code repository of OctoPrint. If you already installed it
(e.g. by using the Raspberry Pi targeted distribution [OctoPi](https://github.com/guysoft/OctoPi)) and only
want to find out how to use it, [the documentation](http://docs.octoprint.org/) and [the public wiki](https://github.com/foosel/OctoPrint/wiki)
might be of more interest for you. You might also want to subscribe to [the mailing list](https://groups.google.com/group/octoprint)
or the [G+ Community](https://plus.google.com/communities/102771308349328485741) where there are other active users who might be
able to help you with any questions you might have.
Contributing
------------
Please see the project's [Contribution Guidelines](https://github.com/foosel/OctoPrint/blob/master/CONTRIBUTING.md).
Contributions of all kinds are welcome, not only in the form of code but also with regards to the
[official documentation](http://docs.octoprint.org/) or [the public wiki](https://github.com/foosel/OctoPrint/wiki), support
of other users in the [bug tracker](https://github.com/foosel/OctoPrint/issues),
[the Mailinglist](https://groups.google.com/group/octoprint) or
[the G+ Community](https://plus.google.com/communities/102771308349328485741).
If you think something is bad as it is about OctoPrint or its documentation the way it is, please help
in any way to make it better instead of just complaining about it -- this is an Open Source Project
after all :)
For information about how to go about contributions of any kind, please see the project's
[Contribution Guidelines](https://github.com/foosel/OctoPrint/blob/master/CONTRIBUTING.md).
Installation
------------
@ -21,6 +39,11 @@ Installation instructions for installing from source for different operating sys
If you want to run OctoPrint on a Raspberry Pi you might want to take a look at [OctoPi](https://github.com/guysoft/OctoPi)
which is a custom SD card image that includes OctoPrint plus dependencies.
After installation, please make sure you follow the first-run wizard and set up
access control as necessary. If you want to not only be notified about new
releases but also be able to automatically upgrade to them from within
OctoPrint, take a look [at the documentation of the Software Update Plugin](https://github.com/foosel/OctoPrint/wiki/Plugin:-Software-Update#making-octoprint-updateable-on-existing-installations).
Dependencies
------------
@ -36,7 +59,11 @@ OctoPrint currently only supports Python 2.7.
Usage
-----
Running the `setup.py` script installs the `octoprint` script in your Python installation's scripts folder
Running the `setup.py` script via
python setup.py install
installs the `octoprint` script in your Python installation's scripts folder
(which depending on whether you installed OctoPrint globally or into a virtual env will be on your `PATH` or not). The
following usage examples assume that said `octoprint` script is on your `PATH`.
@ -77,5 +104,12 @@ which is located at `~/.octoprint` on Linux, at `%APPDATA%/OctoPrint` on Windows
at `~/Library/Application Support/OctoPrint` on MacOS.
A comprehensive overview of all available configuration settings can be found
[on the wiki](https://github.com/foosel/OctoPrint/wiki/Configuration). Please note that the most commonly used
configuration settings can also easily be edited from OctoPrint's settings dialog.
[in the docs](http://docs.octoprint.org/en/master/configuration/config_yaml.html).
Please note that the most commonly used configuration settings can also easily
be edited from OctoPrint's settings dialog.
Special Thanks
--------------
The development of OctoPrint is sponsored and maintained by [BQ](http://www.bq.com/).
Cross-browser testing services are kindly provided by [BrowserStack](http://www.browserstack.com/).

View file

@ -428,11 +428,16 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
if self._pip_caller is None or not self._pip_caller.available:
raise RuntimeError(u"No pip available, can't operate".format(**locals()))
if "--process-dependency-links" in args and self._pip_caller < self._pip_version_dependency_links:
args.remove("--process-dependency-links")
if "--process-dependency-links" in args:
self._log_message(u"Installation needs to process external dependencies, that might make it take a bit longer than usual depending on the pip version")
if self._pip_caller < self._pip_version_dependency_links:
args.remove("--process-dependency-links")
return self._pip_caller.execute(*args)
def _log_message(self, *lines):
self._log(lines, prefix=u"*", stream="message")
def _log_call(self, *lines):
self._log(lines, prefix=u" ", stream="call")
@ -529,6 +534,9 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin,
def map_repository_entry(entry):
result = dict(entry)
if not "follow_dependency_links" in result:
result["follow_dependency_links"] = False
if not "follow_dependency_links" in result:
result["follow_dependency_links"] = False