From 7a7b0e7c688af143955e9f8e17536ca3e6772769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 4 Feb 2016 13:55:10 +0100 Subject: [PATCH] Have the plugin manager use the LocalPipCaller We don't need user-definable pip command paths here, that will only lead to tears when the pip command belongs to a wrong Python environment and nothing installs as expected. --- .../plugins/pluginmanager/__init__.py | 14 +------ .../pluginmanager/static/js/pluginmanager.js | 8 ---- .../templates/pluginmanager_settings.jinja2 | 39 ++++++++----------- 3 files changed, 19 insertions(+), 42 deletions(-) diff --git a/src/octoprint/plugins/pluginmanager/__init__.py b/src/octoprint/plugins/pluginmanager/__init__.py index ebb5a6af..7f51f74f 100644 --- a/src/octoprint/plugins/pluginmanager/__init__.py +++ b/src/octoprint/plugins/pluginmanager/__init__.py @@ -12,7 +12,7 @@ import octoprint.plugin.core from octoprint.settings import valid_boolean_trues from octoprint.server.util.flask import restricted_access from octoprint.server import admin_permission, VERSION -from octoprint.util.pip import PipCaller, UnknownPip +from octoprint.util.pip import LocalPipCaller, UnknownPip from flask import jsonify, make_response from flask.ext.babel import gettext @@ -52,8 +52,7 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, self._repository_cache_path = os.path.join(self.get_plugin_data_folder(), "plugins.json") self._repository_cache_ttl = self._settings.get_int(["repository_ttl"]) * 60 - self._pip_caller = PipCaller(configured=self._settings.get(["pip"]), - force_user=self._settings.get_boolean(["pip_force_user"])) + self._pip_caller = LocalPipCaller(force_user=self._settings.get_boolean(["pip_force_user"])) self._pip_caller.on_log_call = self._log_call self._pip_caller.on_log_stdout = self._log_stdout self._pip_caller.on_log_stderr = self._log_stderr @@ -83,7 +82,6 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, return dict( repository="http://plugins.octoprint.org/plugins.json", repository_ttl=24*60, - pip=None, pip_args=None, pip_force_user=False, dependency_links=False, @@ -91,18 +89,10 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, ) def on_settings_save(self, data): - old_pip = self._settings.get(["pip"]) octoprint.plugin.SettingsPlugin.on_settings_save(self, data) - new_pip = self._settings.get(["pip"]) self._repository_cache_ttl = self._settings.get_int(["repository_ttl"]) * 60 self._pip_caller.force_user = self._settings.get_boolean(["pip_force_user"]) - if old_pip != new_pip: - self._pip_caller.configured = new_pip - try: - self._pip_caller.trigger_refresh() - except: - self._pip_caller ##~~ AssetPlugin diff --git a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js index 0a6f6a23..ae574e99 100644 --- a/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js +++ b/src/octoprint/plugins/pluginmanager/static/js/pluginmanager.js @@ -76,7 +76,6 @@ $(function() { self.config_repositoryUrl = ko.observable(); self.config_repositoryTtl = ko.observable(); - self.config_pipCommand = ko.observable(); self.config_pipAdditionalArgs = ko.observable(); self.config_pipForceUser = ko.observable(); @@ -489,11 +488,6 @@ $(function() { }; self.savePluginSettings = function() { - var pipCommand = self.config_pipCommand(); - if (pipCommand != undefined && pipCommand.trim() == "") { - pipCommand = null; - } - var repository = self.config_repositoryUrl(); if (repository != undefined && repository.trim() == "") { repository = null; @@ -516,7 +510,6 @@ $(function() { pluginmanager: { repository: repository, repository_ttl: repositoryTtl, - pip: pipCommand, pip_args: pipArgs, pip_force_user: self.config_pipForceUser() } @@ -532,7 +525,6 @@ $(function() { self._copyConfig = function() { self.config_repositoryUrl(self.settingsViewModel.settings.plugins.pluginmanager.repository()); self.config_repositoryTtl(self.settingsViewModel.settings.plugins.pluginmanager.repository_ttl()); - self.config_pipCommand(self.settingsViewModel.settings.plugins.pluginmanager.pip()); self.config_pipAdditionalArgs(self.settingsViewModel.settings.plugins.pluginmanager.pip_args()); self.config_pipForceUser(self.settingsViewModel.settings.plugins.pluginmanager.pip_force_user()); }; diff --git a/src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2 b/src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2 index 6804c684..926847a5 100644 --- a/src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2 +++ b/src/octoprint/plugins/pluginmanager/templates/pluginmanager_settings.jinja2 @@ -221,28 +221,7 @@ + + {{ _('pip configuration') }} + +
+ +
+ +
+
+
+
+ +
+