PipxInterface/Pipx.py

changeset 106
dcc8d6b448fa
parent 104
45c88e73e3dd
child 111
8ace016a3eee
--- a/PipxInterface/Pipx.py	Tue Dec 10 17:43:42 2024 +0100
+++ b/PipxInterface/Pipx.py	Tue Dec 10 17:50:48 2024 +0100
@@ -784,25 +784,37 @@
             (d["name"], d["version"]) for d in dependenciesList if d["name"] != package
         ]
 
-    def upgradePackageDependencies(self, package):
+    def upgradePackageDependencies(self, package, dependencies=None):
         """
         Public method to upgrade the dependencies of the given package.
 
         @param package name of the package
         @type str
+        @param dependencies list of dependencies to be upgraded or None to
+            upgrade all outdated dependencies (defaults to None)
+        @type list of str or None (optional)
         """
-        outdatedDependencies = [
-            d[0] for d in self.getOutdatedPackageDependencies(package=package)
-        ]
-        args = [
-            "runpip",
-            package,
-            "install",
-            "--upgrade",
-            "--prefer-binary",
-        ] + outdatedDependencies
+        if dependencies is None:
+            dependencies = [
+                d[0] for d in self.getOutdatedPackageDependencies(package=package)
+            ]
 
-        dia = PipxExecDialog(self.tr("Upgrade Dependencies"), parent=self.__ui)
-        res = dia.startProcess(self.__getPipxExecutable(), args)
-        if res:
-            dia.exec()
+        if dependencies:
+            args = [
+                "runpip",
+                package,
+                "install",
+                "--upgrade",
+                "--prefer-binary",
+            ] + dependencies
+
+            dia = PipxExecDialog(self.tr("Upgrade Dependencies"), parent=self.__ui)
+            res = dia.startProcess(self.__getPipxExecutable(), args)
+            if res:
+                dia.exec()
+        else:
+            EricMessageBox.information(
+                self.__ui,
+                self.tr("Upgrade Dependencies"),
+                self.tr("""All dependencies are already up-to-date."""),
+            )

eric ide

mercurial