Commit graph

16 commits

Author SHA1 Message Date
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
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
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
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
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
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
f58d63bb49 pluginmanager: Reset flag for repository_available when refreshing it 2015-06-19 15:20:25 +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
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
804d832544 Made name entry for Plugin Manager settings dialog translateable 2015-06-08 08:22:40 +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
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
caef322b65 The Plugin Manager is now bundled with OctoPrint 2015-05-29 16:31:43 +02:00