PipxInterface/PipxReinstallDialog.py

Sun, 29 Dec 2024 14:56:04 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 29 Dec 2024 14:56:04 +0100
changeset 121
8deb7d8d9b86
parent 104
45c88e73e3dd
permissions
-rw-r--r--

Prepared a new release.

12
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
104
45c88e73e3dd Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
3 # Copyright (c) 2024 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
12
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the desired Python interpreter version.
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtWidgets import QDialog
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from .Ui_PipxReinstallDialog import Ui_PipxReinstallDialog
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 class PipxReinstallDialog(QDialog, Ui_PipxReinstallDialog):
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Class implementing a dialog to enter the desired Python interpreter version.
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 def __init__(self, reinstallAll=False, parent=None):
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Constructor
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 @param reinstallAll flag indicating to get the parameters for a 'reinstall-all'
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 action
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @type bool
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param parent reference to the parent widget (defaults to None)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type QWidget (optional)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 super().__init__(parent)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 self.setupUi(self)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.skipGroupBox.setVisible(reinstallAll)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.fetchMissingCheckBox.setChecked(True)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 msh = self.minimumSizeHint()
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.resize(max(self.width(), msh.width()), msh.height())
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 def getData(self):
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 Public method to get the entered data.
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 @return tuple containing the desired Python version, a flag indicating
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 to fetch a standalone Python build from GitHub if the specified Python
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 version is not found locally on the system and a list of packages to skip
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 in case of a 'reinstall-all'
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @rtype tuple of (str, bool, list of str)
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 return (
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.interpreterVersionEdit.text(),
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.fetchMissingCheckBox.isChecked(),
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 [p.strip() for p in self.packagesEdit.text().split()],
a09f763d5e1f Added functionality to reinstall single or all pipx managed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 )

eric ide

mercurial