Thu, 14 Sep 2023 15:54:56 +0200
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9623
diff
changeset
|
3 | # Copyright (c) 2019 - 2023 Detlev Offenbach <detlev@die-offenbachs.de> |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the pip packages management widget. |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
10 | import contextlib |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
11 | import html.parser |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
12 | import os |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
13 | import textwrap |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
14 | |
10093
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
15 | from packaging.specifiers import InvalidSpecifier, SpecifierSet |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
16 | from PyQt6.QtCore import Qt, QUrl, QUrlQuery, pyqtSlot |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
17 | from PyQt6.QtGui import QIcon |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
18 | from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
19 | from PyQt6.QtWidgets import ( |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
20 | QAbstractItemView, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
21 | QApplication, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
22 | QDialog, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
23 | QHeaderView, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
24 | QMenu, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
25 | QToolButton, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
26 | QTreeWidgetItem, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
27 | QWidget, |
7255
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7241
diff
changeset
|
28 | ) |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
29 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
30 | from eric7 import Globals, Preferences |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
31 | from eric7.EricGui import EricPixmapCache |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
32 | from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
33 | from eric7.EricWidgets import EricMessageBox |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9437
diff
changeset
|
34 | from eric7.EricWidgets.EricApplication import ericApp |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
35 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
36 | from .PipVulnerabilityChecker import Package, VulnerabilityCheckError |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | from .Ui_PipPackagesWidget import Ui_PipPackagesWidget |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
8085 | 40 | class PypiSearchResultsParser(html.parser.HTMLParser): |
41 | """ | |
42 | Class implementing the parser for the PyPI search result page. | |
43 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
44 | |
8085 | 45 | ClassPrefix = "package-snippet__" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
46 | |
8085 | 47 | def __init__(self, data): |
48 | """ | |
49 | Constructor | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
50 | |
8085 | 51 | @param data data to be parsed |
52 | @type str | |
53 | """ | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8152
diff
changeset
|
54 | super().__init__() |
8085 | 55 | self.__results = [] |
56 | self.__activeClass = None | |
57 | self.feed(data) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
58 | |
8085 | 59 | def __getClass(self, attrs): |
60 | """ | |
61 | Private method to extract the class attribute out of the list of | |
62 | attributes. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
63 | |
8085 | 64 | @param attrs list of tag attributes as (name, value) tuples |
65 | @type list of tuple of (str, str) | |
66 | @return value of the 'class' attribute or None | |
67 | @rtype str | |
68 | """ | |
69 | for name, value in attrs: | |
70 | if name == "class": | |
71 | return value | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
72 | |
8085 | 73 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
74 | |
8085 | 75 | def __getDate(self, attrs): |
76 | """ | |
77 | Private method to extract the datetime attribute out of the list of | |
78 | attributes and process it. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
79 | |
8085 | 80 | @param attrs list of tag attributes as (name, value) tuples |
81 | @type list of tuple of (str, str) | |
82 | @return value of the 'class' attribute or None | |
83 | @rtype str | |
84 | """ | |
85 | for name, value in attrs: | |
86 | if name == "datetime": | |
87 | return value.split("T")[0] | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
88 | |
8085 | 89 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
90 | |
8085 | 91 | def handle_starttag(self, tag, attrs): |
92 | """ | |
93 | Public method to process the start tag. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
94 | |
8085 | 95 | @param tag tag name (all lowercase) |
96 | @type str | |
97 | @param attrs list of tag attributes as (name, value) tuples | |
98 | @type list of tuple of (str, str) | |
99 | """ | |
100 | if tag == "a" and self.__getClass(attrs) == "package-snippet": | |
101 | self.__results.append({}) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
102 | |
8085 | 103 | if tag in ("span", "p"): |
104 | tagClass = self.__getClass(attrs) | |
105 | if tagClass in ( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
106 | "package-snippet__name", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
107 | "package-snippet__description", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
108 | "package-snippet__version", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
109 | "package-snippet__released", |
9058
d1be27810566
Fixed an issue in the PyPI search function caused by a change of the PyPI web site.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9039
diff
changeset
|
110 | "package-snippet__created", |
8085 | 111 | ): |
112 | self.__activeClass = tagClass | |
113 | else: | |
114 | self.__activeClass = None | |
115 | elif tag == "time": | |
116 | attributeName = self.__activeClass.replace(self.ClassPrefix, "") | |
117 | self.__results[-1][attributeName] = self.__getDate(attrs) | |
118 | self.__activeClass = None | |
119 | else: | |
120 | self.__activeClass = None | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
121 | |
8085 | 122 | def handle_data(self, data): |
123 | """ | |
124 | Public method process arbitrary data. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
125 | |
8085 | 126 | @param data data to be processed |
127 | @type str | |
128 | """ | |
129 | if self.__activeClass is not None: | |
130 | attributeName = self.__activeClass.replace(self.ClassPrefix, "") | |
131 | self.__results[-1][attributeName] = data | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
132 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9851
diff
changeset
|
133 | def handle_endtag(self, tag): # noqa: U100 |
8085 | 134 | """ |
135 | Public method to process the end tag. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
136 | |
8085 | 137 | @param tag tag name (all lowercase) |
138 | @type str | |
139 | """ | |
140 | self.__activeClass = None | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
141 | |
8085 | 142 | def getResults(self): |
143 | """ | |
144 | Public method to get the extracted search results. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
145 | |
8085 | 146 | @return extracted result data |
147 | @rtype list of dict | |
148 | """ | |
149 | return self.__results | |
150 | ||
151 | ||
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | class PipPackagesWidget(QWidget, Ui_PipPackagesWidget): |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | """ |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
154 | Class implementing the pip packages management widget. |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
156 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
157 | ShowProcessGeneralMode = 0 |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
158 | ShowProcessClassifiersMode = 1 |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
159 | ShowProcessEntryPointsMode = 2 |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
160 | ShowProcessFilesListMode = 3 |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
161 | ShowProcessUrlsListMode = 4 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
162 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
163 | SearchVersionRole = Qt.ItemDataRole.UserRole + 1 |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
164 | VulnerabilityRole = Qt.ItemDataRole.UserRole + 2 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
165 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
166 | PackageColumn = 0 |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
167 | InstalledVersionColumn = 1 |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
168 | AvailableVersionColumn = 2 |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
169 | VulnerabilityColumn = 3 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
170 | |
8997 | 171 | DepPackageColumn = 0 |
172 | DepInstalledVersionColumn = 1 | |
173 | DepRequiredVersionColumn = 2 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | |
6828
bb6667ea9ae7
Changed the Google Mail interface to not use obsoleted packages anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6806
diff
changeset
|
175 | def __init__(self, pip, parent=None): |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
178 | |
6828
bb6667ea9ae7
Changed the Google Mail interface to not use obsoleted packages anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6806
diff
changeset
|
179 | @param pip reference to the global pip interface |
bb6667ea9ae7
Changed the Google Mail interface to not use obsoleted packages anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6806
diff
changeset
|
180 | @type Pip |
10084
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
181 | @param parent reference to the parent widget (defaults to None) |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
182 | @type QWidget (optional) |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8152
diff
changeset
|
184 | super().__init__(parent) |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.setupUi(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
186 | |
8604
d25390ea2f19
Changed the margins of some right side bar managed items to (0, 3, 0, 0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8466
diff
changeset
|
187 | self.layout().setContentsMargins(0, 3, 0, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
188 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
189 | self.viewToggleButton.setIcon(EricPixmapCache.getIcon("viewListTree")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
190 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
191 | self.pipMenuButton.setObjectName("pip_supermenu_button") |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
192 | self.pipMenuButton.setIcon(EricPixmapCache.getIcon("superMenu")) |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | self.pipMenuButton.setToolTip(self.tr("pip Menu")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
194 | self.pipMenuButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
195 | self.pipMenuButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
196 | self.pipMenuButton.setFocusPolicy(Qt.FocusPolicy.NoFocus) |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | self.pipMenuButton.setAutoRaise(True) |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | self.pipMenuButton.setShowMenuInside(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
199 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
200 | self.refreshButton.setIcon(EricPixmapCache.getIcon("reload")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
201 | self.upgradeButton.setIcon(EricPixmapCache.getIcon("1uparrow")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
202 | self.upgradeAllButton.setIcon(EricPixmapCache.getIcon("2uparrow")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
203 | self.uninstallButton.setIcon(EricPixmapCache.getIcon("minus")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
204 | self.showPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info")) |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
205 | self.searchToggleButton_1.setIcon(EricPixmapCache.getIcon("find")) |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
206 | self.searchToggleButton_2.setIcon(EricPixmapCache.getIcon("find")) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
207 | self.searchButton.setIcon(EricPixmapCache.getIcon("findNext")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
208 | self.searchMoreButton.setIcon(EricPixmapCache.getIcon("plus")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
209 | self.installButton.setIcon(EricPixmapCache.getIcon("plus")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
210 | self.installUserSiteButton.setIcon(EricPixmapCache.getIcon("addUser")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
211 | self.showDetailsButton.setIcon(EricPixmapCache.getIcon("info")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
212 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
213 | self.refreshDependenciesButton.setIcon(EricPixmapCache.getIcon("reload")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
214 | self.showDepPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
215 | self.dependencyRepairButton.setIcon(EricPixmapCache.getIcon("repair")) |
10133
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
216 | self.dependencyRepairAllButton.setIcon(EricPixmapCache.getIcon("repairAll")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
217 | |
6828
bb6667ea9ae7
Changed the Google Mail interface to not use obsoleted packages anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6806
diff
changeset
|
218 | self.__pip = pip |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
219 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
220 | self.packagesList.header().setSortIndicator( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
221 | PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
222 | ) |
8997 | 223 | self.dependenciesList.header().setSortIndicator( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
224 | PipPackagesWidget.DepPackageColumn, Qt.SortOrder.AscendingOrder |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
225 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
226 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
227 | self.__infoLabels = { |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
228 | "author": self.tr("Author:"), |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
229 | "author-email": self.tr("Author Email:"), |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
230 | "classifiers": self.tr("Classifiers:"), |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
231 | "entry-points": self.tr("Entry Points:"), |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
232 | "files": self.tr("Files:"), |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
233 | "home-page": self.tr("Homepage:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
234 | "installer": self.tr("Installer:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
235 | "license": self.tr("License:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
236 | "location": self.tr("Location:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
237 | "metadata-version": self.tr("Metadata Version:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
238 | "name": self.tr("Name:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
239 | "project-urls": self.tr("Project URLs:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
240 | "requires": self.tr("Requires:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
241 | "required-by": self.tr("Required By:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
242 | "summary": self.tr("Summary:"), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
243 | "version": self.tr("Version:"), |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
244 | } |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
245 | self.packageInfoWidget.setHeaderLabels(["Key", "Value"]) |
8997 | 246 | self.dependencyInfoWidget.setHeaderLabels(["Key", "Value"]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
247 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
248 | venvManager = ericApp().getObject("VirtualEnvManager") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
249 | venvManager.virtualEnvironmentAdded.connect(self.on_refreshButton_clicked) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
250 | venvManager.virtualEnvironmentRemoved.connect(self.on_refreshButton_clicked) |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
251 | self.__selectedEnvironment = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
252 | |
10084
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
253 | with contextlib.suppress(KeyError): |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
254 | project = ericApp().getObject("Project") |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
255 | project.projectOpened.connect(self.__projectOpened) |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
256 | project.projectClosed.connect(self.__projectClosed) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
257 | |
10104
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
258 | self.__packageDetailsDialog = None |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
259 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | self.__initPipMenu() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | self.__populateEnvironments() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | self.__updateActionButtons() |
8997 | 263 | self.__updateDepActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
264 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | self.statusLabel.hide() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.searchWidget.hide() |
9000 | 267 | self.__lastSearchPage = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
268 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
269 | self.__queryName = [] |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
270 | self.__querySummary = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
271 | |
8085 | 272 | self.__replies = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
273 | |
8997 | 274 | self.viewsStackWidget.setCurrentWidget(self.packagesPage) |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
275 | self.on_packagesList_currentItemChanged(None, None) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
276 | |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
277 | @pyqtSlot() |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
278 | def __projectOpened(self): |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
279 | """ |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
280 | Private slot to handle the projectOpened signal. |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
281 | """ |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
282 | projectVenv = self.__pip.getProjectEnvironmentString() |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
283 | if projectVenv: |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
284 | self.environmentsComboBox.insertItem(1, projectVenv) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
285 | |
8466
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
286 | @pyqtSlot(bool) |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
287 | def __projectClosed(self, shutdown): |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
288 | """ |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
289 | Private slot to handle the projectClosed signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
290 | |
8466
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
291 | @param shutdown flag indicating the IDE shutdown |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
292 | @type bool |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
293 | """ |
bb21fd901f49
Modified the shutdown code logic to not check PyPI for changed packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
294 | if not shutdown: |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
295 | # the project entry is always at index 1 |
9417
10b027c85e78
Improved the reaction of the pip widget to closing of the project if a project embedded environment was selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
296 | if self.environmentsComboBox.currentIndex() == 1: |
10b027c85e78
Improved the reaction of the pip widget to closing of the project if a project embedded environment was selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
297 | self.environmentsComboBox.setCurrentIndex(0) |
10b027c85e78
Improved the reaction of the pip widget to closing of the project if a project embedded environment was selected.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
298 | |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
299 | self.environmentsComboBox.removeItem(1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
300 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | def __populateEnvironments(self): |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | Private method to get a list of environments and populate the selector. |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | self.environmentsComboBox.addItem("") |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | projectVenv = self.__pip.getProjectEnvironmentString() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | if projectVenv: |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | self.environmentsComboBox.addItem(projectVenv) |
6975
3325bf3e7b2c
Pip, PipPackagesWidget, VirtualenvManager: fixed an issue causing environments for remote debugging being shown in the selection list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
309 | self.environmentsComboBox.addItems( |
7726
b1ade4fcf05f
Pip Interface: added an option to not show 'conda' managed environments in the selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7641
diff
changeset
|
310 | self.__pip.getVirtualenvNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
311 | noRemote=True, noConda=Preferences.getPip("ExcludeCondaEnvironments") |
7726
b1ade4fcf05f
Pip Interface: added an option to not show 'conda' managed environments in the selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7641
diff
changeset
|
312 | ) |
b1ade4fcf05f
Pip Interface: added an option to not show 'conda' managed environments in the selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7641
diff
changeset
|
313 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
314 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
315 | def __isPipAvailable(self): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
316 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
317 | Private method to check, if the pip package is available for the |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
318 | selected environment. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
319 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
320 | @return flag indicating availability |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
321 | @rtype bool |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
322 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
323 | available = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
324 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
325 | venvName = self.environmentsComboBox.currentText() |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
326 | if venvName: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
327 | available = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
328 | len( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
329 | self.packagesList.findItems( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
330 | "pip", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
331 | Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
332 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
333 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
334 | == 1 |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
335 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
336 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
337 | return available |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
338 | |
7641
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
339 | def __availablePipVersion(self): |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
340 | """ |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
341 | Private method to get the pip version of the selected environment. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
342 | |
7641
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
343 | @return tuple containing the version number or tuple with all zeros |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
344 | in case pip is not available |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
345 | @rtype tuple of int |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
346 | """ |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
347 | pipVersionTuple = (0, 0, 0) |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
348 | venvName = self.environmentsComboBox.currentText() |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
349 | if venvName: |
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
350 | pipList = self.packagesList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
351 | "pip", Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
352 | ) |
7641
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
353 | if len(pipList) > 0: |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
354 | pipVersionTuple = Globals.versionToTuple( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
355 | pipList[0].text(PipPackagesWidget.InstalledVersionColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
356 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
357 | |
7641
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
358 | return pipVersionTuple |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
359 | |
8090 | 360 | def getPip(self): |
361 | """ | |
362 | Public method to get a reference to the pip interface object. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
363 | |
8090 | 364 | @return reference to the pip interface object |
365 | @rtype Pip | |
366 | """ | |
367 | return self.__pip | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
368 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
369 | ####################################################################### |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
370 | ## Slots handling widget signals below |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
371 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
372 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
373 | def __selectedUpdateableItems(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
374 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
375 | Private method to get a list of selected items that can be updated. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
376 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
377 | @return list of selected items that can be updated |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
378 | @rtype list of QTreeWidgetItem |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
379 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
380 | return [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
381 | itm |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
382 | for itm in self.packagesList.selectedItems() |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
383 | if bool(itm.text(PipPackagesWidget.AvailableVersionColumn)) |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
384 | ] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
385 | |
9851
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
386 | def __allPackageNames(self): |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
387 | """ |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
388 | Private method to get a list of all package names. |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
389 | |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
390 | @return list of all package names |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
391 | @rtype list of str |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
392 | """ |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
393 | packages = [] |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
394 | for index in range(self.packagesList.topLevelItemCount()): |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
395 | packages.append(self.packagesList.topLevelItem(index).text(0)) |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
396 | return packages |
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
397 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
398 | def __allUpdateableItems(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
399 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
400 | Private method to get a list of all items that can be updated. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
401 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
402 | @return list of all items that can be updated |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
403 | @rtype list of QTreeWidgetItem |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
404 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
405 | updateableItems = [] |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
406 | for index in range(self.packagesList.topLevelItemCount()): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
407 | itm = self.packagesList.topLevelItem(index) |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
408 | if itm.text(PipPackagesWidget.AvailableVersionColumn): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
409 | updateableItems.append(itm) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
410 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
411 | return updateableItems |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
412 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | def __updateActionButtons(self): |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | Private method to set the state of the action buttons. |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | """ |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
417 | if self.__isPipAvailable(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
418 | self.upgradeButton.setEnabled(bool(self.__selectedUpdateableItems())) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
419 | self.uninstallButton.setEnabled(bool(self.packagesList.selectedItems())) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
420 | self.upgradeAllButton.setEnabled(bool(self.__allUpdateableItems())) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
421 | self.showPackageDetailsButton.setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
422 | len(self.packagesList.selectedItems()) == 1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
423 | ) |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
424 | else: |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
425 | self.upgradeButton.setEnabled(False) |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
426 | self.uninstallButton.setEnabled(False) |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
427 | self.upgradeAllButton.setEnabled(False) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
428 | self.showPackageDetailsButton.setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
429 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
430 | def __refreshPackagesList(self): |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | """ |
8997 | 432 | Private method to refresh the packages list. |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | self.packagesList.clear() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | venvName = self.environmentsComboBox.currentText() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | if venvName: |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | interpreter = self.__pip.getVirtualenvInterpreter(venvName) |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | if interpreter: |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | self.statusLabel.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
440 | self.statusLabel.setText(self.tr("Getting installed packages...")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
441 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
442 | with EricOverrideCursor(): |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
443 | # 1. populate with installed packages |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
444 | installedPackages = self.__pip.getInstalledPackages( |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
445 | venvName, |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
446 | localPackages=self.localCheckBox.isChecked(), |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
447 | notRequired=self.notRequiredCheckBox.isChecked(), |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
448 | usersite=self.userCheckBox.isChecked(), |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
449 | ) |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
450 | for package, version in installedPackages: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
451 | QTreeWidgetItem(self.packagesList, [package, version, "", ""]) |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
452 | self.packagesList.sortItems( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
453 | PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
454 | ) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
455 | self.packagesList.resizeColumnToContents( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
456 | PipPackagesWidget.PackageColumn |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
457 | ) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
458 | self.packagesList.resizeColumnToContents( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
459 | PipPackagesWidget.InstalledVersionColumn |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
460 | ) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
461 | QApplication.processEvents() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
462 | |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
463 | # 2. update with vulnerability information |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
464 | if self.vulnerabilityCheckBox.isChecked(): |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
465 | self.__updateVulnerabilityData() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
466 | self.packagesList.resizeColumnToContents( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
467 | PipPackagesWidget.VulnerabilityColumn |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
468 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
469 | self.statusLabel.setText(self.tr("Getting outdated packages...")) |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
470 | QApplication.processEvents() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
471 | |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
472 | # 3. update with update information |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
473 | self.__pip.getOutdatedPackages( |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
474 | venvName, |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
475 | localPackages=self.localCheckBox.isChecked(), |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
476 | notRequired=self.notRequiredCheckBox.isChecked(), |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
477 | usersite=self.userCheckBox.isChecked(), |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
478 | callback=self.__updateOutdatedInfo, |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
479 | ) |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
480 | |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
481 | else: |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
482 | self.__updateActionButtons() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
483 | self.__updateSearchActionButtons() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
484 | self.__updateSearchButton() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
485 | self.__updateSearchMoreButton(False) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
486 | |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
487 | def __updateOutdatedInfo(self, outdatedPackages): |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
488 | """ |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
489 | Private method to process the list of outdated packages. |
10207
df02f650f574
Did a little code rearrangement in the pip packages widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10206
diff
changeset
|
490 | |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
491 | @param outdatedPackages list of tuples containing the package name, |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
492 | installed version and available version |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
493 | @type list of tuple of (str, str, str) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
494 | """ |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
495 | for package, _version, latest in outdatedPackages: |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
496 | items = self.packagesList.findItems( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
497 | package, |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
498 | Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive, |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
499 | ) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
500 | if items: |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
501 | items[0].setText(PipPackagesWidget.AvailableVersionColumn, latest) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
502 | self.packagesList.resizeColumnToContents( |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
503 | PipPackagesWidget.AvailableVersionColumn |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
504 | ) |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
505 | self.statusLabel.hide() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
506 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | self.__updateActionButtons() |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | self.__updateSearchActionButtons() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
509 | self.__updateSearchButton() |
9000 | 510 | self.__updateSearchMoreButton(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
511 | |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
512 | @pyqtSlot(str) |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
513 | def on_environmentsComboBox_currentTextChanged(self, name): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
514 | """ |
7241
0c0c9015c40f
PipPackagesWidget: corrected a copy & paste issue in a source docu string.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
515 | Private slot handling the selection of a Python environment. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
516 | |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
517 | @param name name of the selected Python environment |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
518 | @type str |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
519 | """ |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
520 | if name != self.__selectedEnvironment: |
10104
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
521 | if name: |
9437
4bc1acf812f4
Added a label to the pip packages widget to show the interpreter path of the selected virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9417
diff
changeset
|
522 | self.environmentPathLabel.setPath( |
4bc1acf812f4
Added a label to the pip packages widget to show the interpreter path of the selected virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9417
diff
changeset
|
523 | self.__pip.getVirtualenvInterpreter(name) |
4bc1acf812f4
Added a label to the pip packages widget to show the interpreter path of the selected virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9417
diff
changeset
|
524 | ) |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
525 | self.searchNameEdit.setEnabled(True) |
10104
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
526 | else: |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
527 | self.environmentPathLabel.setPath("") |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
528 | self.searchNameEdit.clear() |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
529 | self.searchNameEdit.setEnabled(False) |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
530 | self.searchResultList.clear() |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
531 | if self.__packageDetailsDialog is not None: |
3634d3c2a363
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10093
diff
changeset
|
532 | self.__packageDetailsDialog.close() |
9437
4bc1acf812f4
Added a label to the pip packages widget to show the interpreter path of the selected virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9417
diff
changeset
|
533 | |
8999
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
534 | if self.viewToggleButton.isChecked(): |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
535 | self.__refreshDependencyTree() |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
536 | else: |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
537 | self.__refreshPackagesList() |
723f61499a79
Pip Interface: added some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8997
diff
changeset
|
538 | self.__selectedEnvironment = name |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
539 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
540 | @pyqtSlot() |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
541 | def on_localCheckBox_clicked(self): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
542 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
543 | Private slot handling the switching of the local mode. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
544 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
545 | self.__refreshPackagesList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
546 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
547 | @pyqtSlot() |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
548 | def on_notRequiredCheckBox_clicked(self): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
549 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
550 | Private slot handling the switching of the 'not required' mode. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
551 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
552 | self.__refreshPackagesList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
553 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
554 | @pyqtSlot() |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
555 | def on_userCheckBox_clicked(self): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
556 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
557 | Private slot handling the switching of the 'user-site' mode. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
558 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
559 | self.__refreshPackagesList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
560 | |
8997 | 561 | def __showPackageInformation(self, packageName, infoWidget): |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
562 | """ |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
563 | Private method to show information for a package. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
564 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
565 | @param packageName name of the package |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
566 | @type str |
8997 | 567 | @param infoWidget reference to the widget to contain the information |
568 | @type QTreeWidget | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
569 | """ |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
570 | environment = self.environmentsComboBox.currentText() |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
571 | interpreter = self.__pip.getVirtualenvInterpreter(environment) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
572 | if not interpreter: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
573 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
574 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
575 | args = ["-m", "pip", "show"] |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
576 | if self.verboseCheckBox.isChecked(): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
577 | args.append("--verbose") |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
578 | if self.installedFilesCheckBox.isChecked(): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
579 | args.append("--files") |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
580 | args.append(packageName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
581 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
582 | with EricOverrideCursor(): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
583 | success, output = self.__pip.runProcess(args, interpreter) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
584 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
585 | if success and output: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
586 | mode = self.ShowProcessGeneralMode |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
587 | for line in output.splitlines(): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
588 | line = line.rstrip() |
9569
b888d5495c1b
Fixed an issue in PipPackagesWidget causing an exception in certain situations (see issue465).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
589 | if line and line != "---": |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
590 | if mode != self.ShowProcessGeneralMode: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
591 | if line[0] == " ": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
592 | QTreeWidgetItem(infoWidget, [" ", line.strip()]) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
593 | else: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
594 | mode = self.ShowProcessGeneralMode |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
595 | if mode == self.ShowProcessGeneralMode: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
596 | try: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
597 | label, info = line.split(": ", 1) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
598 | except ValueError: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
599 | label = line[:-1] |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
600 | info = "" |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
601 | label = label.lower() |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
602 | if label in self.__infoLabels: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
603 | QTreeWidgetItem( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
604 | infoWidget, [self.__infoLabels[label], info] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
605 | ) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
606 | if label == "files": |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
607 | mode = self.ShowProcessFilesListMode |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
608 | elif label == "classifiers": |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
609 | mode = self.ShowProcessClassifiersMode |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
610 | elif label == "entry-points": |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
611 | mode = self.ShowProcessEntryPointsMode |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
612 | elif label == "project-urls": |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
613 | mode = self.ShowProcessUrlsListMode |
8997 | 614 | infoWidget.scrollToTop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
615 | |
8997 | 616 | header = infoWidget.header() |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
617 | header.setStretchLastSection(False) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
618 | header.resizeSections(QHeaderView.ResizeMode.ResizeToContents) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
619 | if header.sectionSize(0) + header.sectionSize(1) < header.width(): |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
620 | header.setStretchLastSection(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
621 | |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
622 | @pyqtSlot() |
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
623 | def on_packagesList_itemSelectionChanged(self): |
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
624 | """ |
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
625 | Private slot reacting on a change of selected items. |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
626 | """ |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
627 | if len(self.packagesList.selectedItems()) == 0: |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
628 | self.packageInfoWidget.clear() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
629 | self.vulnerabilitiesInfoWidget.clear() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
630 | self.infoWidget.tabBar().hide() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
631 | |
10209
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
632 | self.__updateActionButtons() |
8bb763e85937
Modified the Pip.getOutdatedPackages() method to keep the UI responsive while pip accesses the internet for outdated packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10207
diff
changeset
|
633 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
634 | @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
635 | def on_packagesList_currentItemChanged(self, curr, prev): |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
636 | """ |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
637 | Private slot to handle a change of the current item. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
638 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
639 | @param curr new current item |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
640 | @type QTreeWidgetItem |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
641 | @param prev previous current item |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
642 | @type QTreeWidgetItem |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
643 | """ |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
644 | self.packageInfoWidget.clear() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
645 | self.vulnerabilitiesInfoWidget.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
646 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
647 | if curr is None: |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
648 | self.infoWidget.tabBar().hide() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
649 | else: |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
650 | self.__showPackageInformation( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
651 | curr.text(PipPackagesWidget.PackageColumn), self.packageInfoWidget |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
652 | ) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
653 | if bool(curr.text(PipPackagesWidget.VulnerabilityColumn)): |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
654 | self.__showVulnerabilityInformation( |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
655 | curr.text(PipPackagesWidget.PackageColumn), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
656 | curr.text(PipPackagesWidget.InstalledVersionColumn), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
657 | curr.data( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
658 | PipPackagesWidget.VulnerabilityColumn, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
659 | PipPackagesWidget.VulnerabilityRole, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
660 | ), |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
661 | ) |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
662 | self.infoWidget.tabBar().show() |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
663 | else: |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
664 | self.infoWidget.tabBar().hide() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
665 | self.infoWidget.setCurrentIndex(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
666 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
667 | self.__updateActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
668 | |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
669 | @pyqtSlot(QTreeWidgetItem, int) |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
670 | def on_packagesList_itemActivated(self, item, column): |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
671 | """ |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
672 | Private slot reacting on a package item being activated. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
673 | |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
674 | @param item reference to the activated item |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
675 | @type QTreeWidgetItem |
8985
30e9e592732d
pip Interface: Fine tuned the mouse behavior of the pip packages list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8978
diff
changeset
|
676 | @param column activated column |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
677 | @type int |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
678 | """ |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
679 | packageName = item.text(PipPackagesWidget.PackageColumn) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
680 | upgradable = bool(item.text(PipPackagesWidget.AvailableVersionColumn)) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
681 | if column == PipPackagesWidget.InstalledVersionColumn: |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
682 | # show details for installed version |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
683 | packageVersion = item.text(PipPackagesWidget.InstalledVersionColumn) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
684 | else: |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
685 | # show details for available version or installed one |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
686 | if item.text(PipPackagesWidget.AvailableVersionColumn): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
687 | packageVersion = item.text(PipPackagesWidget.AvailableVersionColumn) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
688 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
689 | packageVersion = item.text(PipPackagesWidget.InstalledVersionColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
690 | |
9659 | 691 | vulnerabilities = ( |
692 | item.data( | |
693 | PipPackagesWidget.VulnerabilityColumn, | |
694 | PipPackagesWidget.VulnerabilityRole, | |
695 | ) | |
696 | if bool(item.text(PipPackagesWidget.VulnerabilityColumn)) | |
697 | else [] | |
698 | ) | |
699 | ||
700 | self.__showPackageDetails( | |
701 | packageName, | |
702 | packageVersion, | |
703 | vulnerabilities=vulnerabilities, | |
704 | upgradable=upgradable, | |
705 | ) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
706 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
707 | @pyqtSlot(bool) |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
708 | def on_verboseCheckBox_clicked(self, checked): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
709 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
710 | Private slot to handle a change of the verbose package information |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
711 | checkbox. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
712 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
713 | @param checked state of the checkbox |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
714 | @type bool |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
715 | """ |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
716 | self.on_packagesList_currentItemChanged(self.packagesList.currentItem(), None) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
717 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
718 | @pyqtSlot(bool) |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
719 | def on_installedFilesCheckBox_clicked(self, checked): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
720 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
721 | Private slot to handle a change of the installed files information |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
722 | checkbox. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
723 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
724 | @param checked state of the checkbox |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
725 | @type bool |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
726 | """ |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
727 | self.on_packagesList_currentItemChanged(self.packagesList.currentItem(), None) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
728 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
729 | @pyqtSlot() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
730 | def on_refreshButton_clicked(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
731 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
732 | Private slot to refresh the display. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
733 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
734 | currentEnvironment = self.environmentsComboBox.currentText() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
735 | self.environmentsComboBox.clear() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
736 | self.packagesList.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
737 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
738 | with EricOverrideCursor(): |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
739 | self.__populateEnvironments() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
740 | |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
741 | index = self.environmentsComboBox.findText( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
742 | currentEnvironment, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
743 | Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive, |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
744 | ) |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
745 | if index != -1: |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
746 | self.environmentsComboBox.setCurrentIndex(index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
747 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
748 | self.__updateActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
749 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
750 | @pyqtSlot() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
751 | def on_upgradeButton_clicked(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
752 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
753 | Private slot to upgrade selected packages of the selected environment. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
754 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
755 | packages = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
756 | itm.text(PipPackagesWidget.PackageColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
757 | for itm in self.__selectedUpdateableItems() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
758 | ] |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
759 | if packages: |
8090 | 760 | self.executeUpgradePackages(packages) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
761 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
762 | @pyqtSlot() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
763 | def on_upgradeAllButton_clicked(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
764 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
765 | Private slot to upgrade all packages of the selected environment. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
766 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
767 | packages = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
768 | itm.text(PipPackagesWidget.PackageColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
769 | for itm in self.__allUpdateableItems() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
770 | ] |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
771 | if packages: |
8090 | 772 | self.executeUpgradePackages(packages) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
773 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
774 | @pyqtSlot() |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
775 | def on_uninstallButton_clicked(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
776 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
777 | Private slot to remove selected packages of the selected environment. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
778 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
779 | packages = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
780 | itm.text(PipPackagesWidget.PackageColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
781 | for itm in self.packagesList.selectedItems() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
782 | ] |
8090 | 783 | self.executeUninstallPackages(packages) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
784 | |
8090 | 785 | def executeUninstallPackages(self, packages): |
786 | """ | |
787 | Public method to uninstall the given list of packages. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
788 | |
8090 | 789 | @param packages list of package names to be uninstalled |
790 | @type list of str | |
791 | """ | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
792 | if packages: |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
793 | ok = self.__pip.uninstallPackages( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
794 | packages, venvName=self.environmentsComboBox.currentText() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
795 | ) |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
796 | if ok: |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
797 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
798 | |
8090 | 799 | def executeUpgradePackages(self, packages): |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
800 | """ |
8090 | 801 | Public method to execute the pip upgrade command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
802 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
803 | @param packages list of package names to be upgraded |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
804 | @type list of str |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
805 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
806 | ok = self.__pip.upgradePackages( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
807 | packages, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
808 | venvName=self.environmentsComboBox.currentText(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
809 | userSite=self.userCheckBox.isChecked(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
810 | ) |
8090 | 811 | if ok: |
812 | self.on_refreshButton_clicked() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
813 | |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
814 | @pyqtSlot() |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
815 | def on_showPackageDetailsButton_clicked(self): |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
816 | """ |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
817 | Private slot to show information for the selected package. |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
818 | """ |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
819 | item = self.packagesList.selectedItems()[0] |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
820 | if item: |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
821 | packageName = item.text(PipPackagesWidget.PackageColumn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
822 | upgradable = bool(item.text(PipPackagesWidget.AvailableVersionColumn)) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
823 | # show details for available version or installed one |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
824 | if item.text(PipPackagesWidget.AvailableVersionColumn): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
825 | packageVersion = item.text(PipPackagesWidget.AvailableVersionColumn) |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
826 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
827 | packageVersion = item.text(PipPackagesWidget.InstalledVersionColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
828 | |
9659 | 829 | vulnerabilities = ( |
830 | item.data( | |
831 | PipPackagesWidget.VulnerabilityColumn, | |
832 | PipPackagesWidget.VulnerabilityRole, | |
833 | ) | |
834 | if bool(item.text(PipPackagesWidget.VulnerabilityColumn)) | |
835 | else [] | |
836 | ) | |
837 | ||
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
838 | self.__showPackageDetails( |
9659 | 839 | packageName, |
840 | packageVersion, | |
841 | vulnerabilities=vulnerabilities, | |
842 | upgradable=upgradable, | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
843 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
844 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | ####################################################################### |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
846 | ## Search widget related methods below |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
848 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | def __updateSearchActionButtons(self): |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | Private method to update the action button states of the search widget. |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | """ |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
853 | installEnable = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
854 | len(self.searchResultList.selectedItems()) > 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
855 | and self.environmentsComboBox.currentIndex() > 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
856 | and self.__isPipAvailable() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
857 | ) |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
858 | self.installButton.setEnabled(installEnable) |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
859 | self.installUserSiteButton.setEnabled(installEnable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
860 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | self.showDetailsButton.setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
862 | len(self.searchResultList.selectedItems()) == 1 and self.__isPipAvailable() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
863 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
864 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
865 | def __updateSearchButton(self): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
866 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
867 | Private method to update the state of the search button. |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
868 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
869 | self.searchButton.setEnabled( |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
870 | bool(self.searchNameEdit.text()) and self.__isPipAvailable() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
871 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
872 | |
9000 | 873 | def __updateSearchMoreButton(self, enable): |
874 | """ | |
875 | Private method to update the state of the search more button. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
876 | |
9000 | 877 | @param enable flag indicating the desired enable state |
878 | @type bool | |
879 | """ | |
880 | self.searchMoreButton.setEnabled( | |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
881 | enable and bool(self.searchNameEdit.text()) and self.__isPipAvailable() |
9000 | 882 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
883 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
884 | @pyqtSlot(bool) |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
885 | def on_searchToggleButton_1_toggled(self, checked): |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | """ |
9583
b1951dd240e0
Corrected a typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9581
diff
changeset
|
887 | Private slot to toggle the search widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
888 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | @param checked state of the search widget button |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | @type bool |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | """ |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | self.searchWidget.setVisible(checked) |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
893 | self.searchToggleButton_2.setChecked(checked) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
894 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | if checked: |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
896 | self.searchNameEdit.setFocus(Qt.FocusReason.OtherFocusReason) |
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
897 | self.searchNameEdit.selectAll() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
898 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | self.__updateSearchActionButtons() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
900 | self.__updateSearchButton() |
9000 | 901 | self.__updateSearchMoreButton(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
902 | |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
903 | @pyqtSlot(bool) |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
904 | def on_searchToggleButton_2_toggled(self, checked): |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
905 | """ |
9583
b1951dd240e0
Corrected a typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9581
diff
changeset
|
906 | Private slot to toggle the search widget. |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
907 | |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
908 | @param checked state of the search widget button |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
909 | @type bool |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
910 | """ |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
911 | self.searchToggleButton_1.setChecked(checked) |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
912 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
913 | @pyqtSlot(str) |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
914 | def on_searchNameEdit_textChanged(self, txt): |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
915 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
916 | Private slot handling a change of the search term. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
917 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
918 | @param txt search term |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
919 | @type str |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
920 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
921 | self.__updateSearchButton() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
922 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
923 | @pyqtSlot() |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
924 | def on_searchNameEdit_returnPressed(self): |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
925 | """ |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
926 | Private slot initiating a search via a press of the Return key. |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
927 | """ |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
928 | if bool(self.searchNameEdit.text()) and self.__isPipAvailable(): |
9000 | 929 | self.__searchFirst() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
930 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
931 | @pyqtSlot() |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
932 | def on_searchButton_clicked(self): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
933 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
934 | Private slot handling a press of the search button. |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
935 | """ |
9000 | 936 | self.__searchFirst() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
937 | |
9000 | 938 | @pyqtSlot() |
939 | def on_searchMoreButton_clicked(self): | |
940 | """ | |
941 | Private slot handling a press of the search more button. | |
942 | """ | |
943 | self.__search(self.__lastSearchPage + 1) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
944 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
945 | @pyqtSlot() |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
946 | def on_searchResultList_itemSelectionChanged(self): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
947 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
948 | Private slot handling changes of the search result selection. |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
949 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
950 | self.__updateSearchActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
951 | |
9000 | 952 | def __searchFirst(self): |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
953 | """ |
9000 | 954 | Private method to perform the search for packages. |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
955 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
956 | self.searchResultList.clear() |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
957 | self.searchInfoLabel.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
958 | |
9000 | 959 | self.__updateSearchMoreButton(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
960 | |
9000 | 961 | self.__search() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
962 | |
9000 | 963 | def __search(self, page=1): |
964 | """ | |
965 | Private method to perform the search by calling the PyPI search URL. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
966 | |
9000 | 967 | @param page search page to retrieve (defaults to 1) |
968 | @type int (optional) | |
969 | """ | |
970 | self.__lastSearchPage = page | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
971 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
972 | self.searchButton.setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
973 | |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
974 | searchTerm = self.searchNameEdit.text().strip() |
8085 | 975 | searchTerm = bytes(QUrl.toPercentEncoding(searchTerm)).decode() |
976 | urlQuery = QUrlQuery() | |
977 | urlQuery.addQueryItem("q", searchTerm) | |
9000 | 978 | urlQuery.addQueryItem("page", str(page)) |
8090 | 979 | url = QUrl(self.__pip.getIndexUrlSearch()) |
8085 | 980 | url.setQuery(urlQuery) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
981 | |
8085 | 982 | request = QNetworkRequest(QUrl(url)) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
983 | request.setAttribute( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
984 | QNetworkRequest.Attribute.CacheLoadControlAttribute, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
985 | QNetworkRequest.CacheLoadControl.AlwaysNetwork, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
986 | ) |
8085 | 987 | reply = self.__pip.getNetworkAccessManager().get(request) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
988 | reply.finished.connect(lambda: self.__searchResponse(reply)) |
8085 | 989 | self.__replies.append(reply) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
990 | |
8085 | 991 | def __searchResponse(self, reply): |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
992 | """ |
8085 | 993 | Private method to extract the search result data from the response. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
994 | |
8085 | 995 | @param reply reference to the reply object containing the data |
996 | @type QNetworkReply | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
997 | """ |
8085 | 998 | if reply in self.__replies: |
999 | self.__replies.remove(reply) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1000 | |
8085 | 1001 | urlQuery = QUrlQuery(reply.url()) |
1002 | searchTerm = urlQuery.queryItemValue("q") | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1003 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
1004 | if reply.error() != QNetworkReply.NetworkError.NoError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1005 | EricMessageBox.warning( |
8085 | 1006 | None, |
1007 | self.tr("Search PyPI"), | |
1008 | self.tr( | |
1009 | "<p>Received an error while searching for <b>{0}</b>.</p>" | |
1010 | "<p>Error: {1}</p>" | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1011 | ).format(searchTerm, reply.errorString()), |
8085 | 1012 | ) |
1013 | reply.deleteLater() | |
1014 | return | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1015 | |
8085 | 1016 | data = bytes(reply.readAll()).decode() |
1017 | reply.deleteLater() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1018 | |
8085 | 1019 | results = PypiSearchResultsParser(data).getResults() |
1020 | if results: | |
9000 | 1021 | # PyPI returns max. 20 entries per page |
8085 | 1022 | if len(results) < 20: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1023 | msg = self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1024 | "%n package(s) found.", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1025 | "", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1026 | (self.__lastSearchPage - 1) * 20 + len(results), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1027 | ) |
9000 | 1028 | self.__updateSearchMoreButton(False) |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1029 | else: |
9000 | 1030 | msg = self.tr("Showing first {0} packages found.").format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1031 | self.__lastSearchPage * 20 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1032 | ) |
9000 | 1033 | self.__updateSearchMoreButton(True) |
8085 | 1034 | self.searchInfoLabel.setText(msg) |
9000 | 1035 | lastItem = self.searchResultList.topLevelItem( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1036 | self.searchResultList.topLevelItemCount() - 1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1037 | ) |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1038 | else: |
9000 | 1039 | self.__updateSearchMoreButton(False) |
1040 | if self.__lastSearchPage == 1: | |
1041 | EricMessageBox.warning( | |
1042 | self, | |
1043 | self.tr("Search PyPI"), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1044 | self.tr("""<p>There were no results for <b>{0}</b>.</p>""").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1045 | searchTerm |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1046 | ), |
9000 | 1047 | ) |
1048 | self.searchInfoLabel.setText( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1049 | self.tr("""<p>There were no results for <b>{0}</b>.</p>""").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1050 | searchTerm |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1051 | ) |
9000 | 1052 | ) |
1053 | else: | |
1054 | EricMessageBox.warning( | |
1055 | self, | |
1056 | self.tr("Search PyPI"), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1057 | self.tr( |
9573
9960d19d66b5
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9569
diff
changeset
|
1058 | """<p>There were no more results for <b>{0}</b>.</p>""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1059 | ).format(searchTerm), |
9000 | 1060 | ) |
1061 | lastItem = None | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1062 | |
8085 | 1063 | wrapper = textwrap.TextWrapper(width=80) |
1064 | for result in results: | |
1065 | try: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1066 | description = "\n".join( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1067 | [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1068 | wrapper.fill(line) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1069 | for line in result["description"].strip().splitlines() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1070 | ] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1071 | ) |
8085 | 1072 | except KeyError: |
1073 | description = "" | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1074 | date = result["released"] if "released" in result else result["created"] |
8085 | 1075 | itm = QTreeWidgetItem( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1076 | self.searchResultList, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1077 | [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1078 | result["name"].strip(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1079 | result["version"], |
9058
d1be27810566
Fixed an issue in the PyPI search function caused by a change of the PyPI web site.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9039
diff
changeset
|
1080 | date.strip(), |
8085 | 1081 | description, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1082 | ], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1083 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1084 | itm.setData(0, self.SearchVersionRole, result["version"]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1085 | |
9000 | 1086 | if lastItem: |
1087 | self.searchResultList.scrollToItem( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1088 | lastItem, QAbstractItemView.ScrollHint.PositionAtTop |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1089 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1090 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1091 | header = self.searchResultList.header() |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1092 | header.setStretchLastSection(False) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
1093 | header.resizeSections(QHeaderView.ResizeMode.ResizeToContents) |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1094 | headerSize = 0 |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1095 | for col in range(header.count()): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1096 | headerSize += header.sectionSize(col) |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1097 | if headerSize < header.width(): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1098 | header.setStretchLastSection(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1099 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1100 | self.__finishSearch() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1101 | |
6793
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1102 | def __finishSearch(self): |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1103 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1104 | Private slot performing the search finishing actions. |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1105 | """ |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1106 | self.__updateSearchActionButtons() |
cca6a35f3ad2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6792
diff
changeset
|
1107 | self.__updateSearchButton() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1108 | |
9623
9c1f429cb56b
Fixed a variable name typo and corrected the enabled state handling of the search edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9583
diff
changeset
|
1109 | self.searchNameEdit.setFocus(Qt.FocusReason.OtherFocusReason) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1110 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1111 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1112 | def on_installButton_clicked(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1113 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1114 | Private slot to handle pressing the Install button.. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1115 | """ |
8090 | 1116 | packages = [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1117 | itm.text(0).strip() for itm in self.searchResultList.selectedItems() |
8090 | 1118 | ] |
1119 | self.executeInstallPackages(packages) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1120 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1121 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1122 | def on_installUserSiteButton_clicked(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1123 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1124 | Private slot to handle pressing the Install to User-Site button.. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1125 | """ |
8090 | 1126 | packages = [ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1127 | itm.text(0).strip() for itm in self.searchResultList.selectedItems() |
8090 | 1128 | ] |
1129 | self.executeInstallPackages(packages, userSite=True) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1130 | |
8090 | 1131 | def executeInstallPackages(self, packages, userSite=False): |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1132 | """ |
8090 | 1133 | Public method to install the given list of packages. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1134 | |
8090 | 1135 | @param packages list of package names to be installed |
1136 | @type list of str | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1137 | @param userSite flag indicating to install to the user directory |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1138 | @type bool |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1139 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1140 | venvName = self.environmentsComboBox.currentText() |
8090 | 1141 | if venvName and packages: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1142 | self.__pip.installPackages(packages, venvName=venvName, userSite=userSite) |
8090 | 1143 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1144 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1145 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1146 | def on_showDetailsButton_clicked(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1147 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1148 | Private slot to handle pressing the Show Details button. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1149 | """ |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1150 | self.__showSearchedDetails() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1151 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1152 | @pyqtSlot(QTreeWidgetItem, int) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1153 | def on_searchResultList_itemActivated(self, item, column): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1154 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1155 | Private slot reacting on an search result item activation. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1156 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1157 | @param item reference to the activated item |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1158 | @type QTreeWidgetItem |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1159 | @param column activated column |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1160 | @type int |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1161 | """ |
7063
2bea77c643a0
PipPackagesWidget: fixed an issue caused by a wrong method call.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6975
diff
changeset
|
1162 | self.__showSearchedDetails(item) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1163 | |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1164 | def __showSearchedDetails(self, item=None): |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1165 | """ |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1166 | Private slot to show details about the selected search result package. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1167 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1168 | @param item reference to the search result item to show details for |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1169 | @type QTreeWidgetItem |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1170 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1171 | self.showDetailsButton.setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1172 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1173 | if not item: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1174 | item = self.searchResultList.selectedItems()[0] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1175 | |
8085 | 1176 | packageVersion = item.data(0, self.SearchVersionRole) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1177 | packageName = item.text(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1178 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1179 | self.__showPackageDetails(packageName, packageVersion, installable=True) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1180 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1181 | def __showPackageDetails( |
9717
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1182 | self, |
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1183 | packageName, |
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1184 | packageVersion, |
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1185 | vulnerabilities=None, |
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1186 | upgradable=False, |
02544efa689b
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9659
diff
changeset
|
1187 | installable=False, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1188 | ): |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1189 | """ |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1190 | Private method to populate the package details dialog. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1191 | |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1192 | @param packageName name of the package to show details for |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1193 | @type str |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1194 | @param packageVersion version of the package |
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1195 | @type str |
9659 | 1196 | @param vulnerabilities list of known vulnerabilities (defaults to None) |
1197 | @type list (optional) | |
8090 | 1198 | @param upgradable flag indicating that the package may be upgraded |
1199 | (defaults to False) | |
1200 | @type bool (optional) | |
1201 | @param installable flag indicating that the package may be installed | |
1202 | (defaults to False) | |
1203 | @type bool (optional) | |
6801
df623ed5aaa6
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6798
diff
changeset
|
1204 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1205 | from .PipPackageDetailsDialog import PipPackageDetailsDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1206 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1207 | with EricOverrideCursor(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1208 | packageData = self.__pip.getPackageDetails(packageName, packageVersion) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1209 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1210 | if packageData: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1211 | self.showDetailsButton.setEnabled(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1212 | |
8090 | 1213 | if installable: |
1214 | buttonsMode = PipPackageDetailsDialog.ButtonInstall | |
1215 | elif upgradable: | |
1216 | buttonsMode = ( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1217 | PipPackageDetailsDialog.ButtonRemove |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1218 | | PipPackageDetailsDialog.ButtonUpgrade |
8090 | 1219 | ) |
1220 | else: | |
1221 | buttonsMode = PipPackageDetailsDialog.ButtonRemove | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1222 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1223 | if self.__packageDetailsDialog is not None: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1224 | self.__packageDetailsDialog.close() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1225 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1226 | self.__packageDetailsDialog = PipPackageDetailsDialog( |
9659 | 1227 | packageData, |
1228 | vulnerabilities=vulnerabilities, | |
1229 | buttonsMode=buttonsMode, | |
1230 | parent=self, | |
7255
d595f6f9cbf8
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7241
diff
changeset
|
1231 | ) |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1232 | self.__packageDetailsDialog.show() |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1233 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1234 | EricMessageBox.warning( |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1235 | self, |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1236 | self.tr("Search PyPI"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1237 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1238 | """<p>No package details info for <b>{0}</b>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1239 | """ available.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1240 | ).format(packageName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1241 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1242 | |
6785
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1243 | ####################################################################### |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1244 | ## Menu related methods below |
058d63c537a4
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1245 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1246 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1247 | def __initPipMenu(self): |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1248 | """ |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1249 | Private method to create the super menu and attach it to the super |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1250 | menu button. |
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1251 | """ |
9243 | 1252 | ################################################################### |
1253 | ## Menu with pip related actions | |
1254 | ################################################################### | |
1255 | ||
1256 | self.__pipSubmenu = QMenu(self.tr("Pip")) | |
1257 | self.__installPipAct = self.__pipSubmenu.addAction( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1258 | self.tr("Install Pip"), self.__installPip |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1259 | ) |
9243 | 1260 | self.__installPipUserAct = self.__pipSubmenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1261 | self.tr("Install Pip to User-Site"), self.__installPipUser |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1262 | ) |
9243 | 1263 | self.__repairPipAct = self.__pipSubmenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1264 | self.tr("Repair Pip"), self.__repairPip |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1265 | ) |
9243 | 1266 | |
1267 | ################################################################### | |
1268 | ## Menu with install related actions | |
1269 | ################################################################### | |
1270 | ||
1271 | self.__installSubmenu = QMenu(self.tr("Install")) | |
1272 | self.__installPackagesAct = self.__installSubmenu.addAction( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1273 | self.tr("Install Packages"), self.__installPackages |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1274 | ) |
9243 | 1275 | self.__installLocalPackageAct = self.__installSubmenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1276 | self.tr("Install Local Package"), self.__installLocalPackage |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1277 | ) |
9243 | 1278 | self.__reinstallPackagesAct = self.__installSubmenu.addAction( |
1279 | self.tr("Re-Install Selected Packages"), self.__reinstallPackages | |
1280 | ) | |
1281 | ||
1282 | ################################################################### | |
1283 | ## Menu for requirements and constraints management | |
1284 | ################################################################### | |
1285 | ||
1286 | self.__requirementsSubenu = QMenu(self.tr("Requirements/Constraints")) | |
1287 | self.__installRequirementsAct = self.__requirementsSubenu.addAction( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1288 | self.tr("Install Requirements"), self.__installRequirements |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1289 | ) |
9243 | 1290 | self.__uninstallRequirementsAct = self.__requirementsSubenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1291 | self.tr("Uninstall Requirements"), self.__uninstallRequirements |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1292 | ) |
9243 | 1293 | self.__generateRequirementsAct = self.__requirementsSubenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1294 | self.tr("Generate Requirements..."), self.__generateRequirements |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1295 | ) |
9243 | 1296 | self.__requirementsSubenu.addSeparator() |
1297 | self.__generateConstraintsAct = self.__requirementsSubenu.addAction( | |
1298 | self.tr("Generate Constraints..."), self.__generateConstraints | |
1299 | ) | |
1300 | ||
1301 | ################################################################### | |
1302 | ## Menu for requirements and constraints management | |
1303 | ################################################################### | |
1304 | ||
1305 | self.__cacheSubmenu = QMenu(self.tr("Cache")) | |
1306 | self.__cacheInfoAct = self.__cacheSubmenu.addAction( | |
1307 | self.tr("Show Cache Info..."), self.__showCacheInfo | |
1308 | ) | |
1309 | self.__cacheShowListAct = self.__cacheSubmenu.addAction( | |
1310 | self.tr("Show Cached Files..."), self.__showCacheList | |
1311 | ) | |
1312 | self.__cacheRemoveAct = self.__cacheSubmenu.addAction( | |
1313 | self.tr("Remove Cached Files..."), self.__removeCachedFiles | |
1314 | ) | |
1315 | self.__cachePurgeAct = self.__cacheSubmenu.addAction( | |
1316 | self.tr("Purge Cache..."), self.__purgeCache | |
1317 | ) | |
1318 | ||
1319 | ################################################################### | |
1320 | ## Main menu | |
1321 | ################################################################### | |
1322 | ||
1323 | self.__pipMenu = QMenu() | |
1324 | self.__pipSubmenuAct = self.__pipMenu.addMenu(self.__pipSubmenu) | |
1325 | self.__pipMenu.addSeparator() | |
1326 | self.__installSubmenuAct = self.__pipMenu.addMenu(self.__installSubmenu) | |
1327 | self.__pipMenu.addSeparator() | |
1328 | self.__requirementsSubmenuAct = self.__pipMenu.addMenu( | |
1329 | self.__requirementsSubenu | |
1330 | ) | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1331 | self.__pipMenu.addSeparator() |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
1332 | self.__showLicensesDialogAct = self.__pipMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1333 | self.tr("Show Licenses..."), self.__showLicensesDialog |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1334 | ) |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
1335 | self.__pipMenu.addSeparator() |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1336 | self.__checkVulnerabilityAct = self.__pipMenu.addAction( |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1337 | self.tr("Check Vulnerabilities"), self.__checkVulnerability |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1338 | ) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1339 | # updateVulnerabilityDbAct |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1340 | self.__updateVulnerabilitiesAct = self.__pipMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1341 | self.tr("Update Vulnerability Database"), self.__updateVulnerabilityDbCache |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1342 | ) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1343 | self.__pipMenu.addSeparator() |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
1344 | self.__cyclonedxAct = self.__pipMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1345 | self.tr("Create SBOM file"), self.__createSBOMFile |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1346 | ) |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
1347 | self.__pipMenu.addSeparator() |
9243 | 1348 | self.__cacheSubmenuAct = self.__pipMenu.addMenu(self.__cacheSubmenu) |
7626
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1349 | self.__pipMenu.addSeparator() |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1350 | # editUserConfigAct |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1351 | self.__pipMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1352 | self.tr("Edit User Configuration..."), self.__editUserConfiguration |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1353 | ) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1354 | self.__editVirtualenvConfigAct = self.__pipMenu.addAction( |
6806
d306647cb82d
Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6804
diff
changeset
|
1355 | self.tr("Edit Environment Configuration..."), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1356 | self.__editVirtualenvConfiguration, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1357 | ) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1358 | self.__pipMenu.addSeparator() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1359 | # pipConfigAct |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1360 | self.__pipMenu.addAction(self.tr("Configure..."), self.__pipConfigure) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1361 | |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1362 | self.__pipMenu.aboutToShow.connect(self.__aboutToShowPipMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1363 | |
6792
9dd854f05c83
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6785
diff
changeset
|
1364 | self.pipMenuButton.setMenu(self.__pipMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1365 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1366 | def __aboutToShowPipMenu(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1367 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1368 | Private slot to set the action enabled status. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1369 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1370 | enable = bool(self.environmentsComboBox.currentText()) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1371 | enablePip = self.__isPipAvailable() |
7641
21ea4fd50b0a
PipPackagesWidget: made the cache actions dependent on pip version of selected environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7626
diff
changeset
|
1372 | enablePipCache = self.__availablePipVersion() >= (20, 1, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1373 | |
9243 | 1374 | self.__pipSubmenuAct.setEnabled(enable) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1375 | self.__installPipAct.setEnabled(not enablePip) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1376 | self.__installPipUserAct.setEnabled(not enablePip) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1377 | self.__repairPipAct.setEnabled(enablePip) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1378 | |
9243 | 1379 | self.__installSubmenu.setEnabled(enablePip) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1380 | |
9243 | 1381 | self.__requirementsSubmenuAct.setEnabled(enablePip) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1382 | |
9243 | 1383 | self.__cacheSubmenuAct.setEnabled(enablePipCache) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1384 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1385 | self.__editVirtualenvConfigAct.setEnabled(enable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1386 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1387 | self.__checkVulnerabilityAct.setEnabled( |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1388 | enable |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1389 | and self.vulnerabilityCheckBox.isEnabled() |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1390 | and Preferences.getPip("VulnerabilityCheckEnabled") |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1391 | ) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1392 | self.__updateVulnerabilitiesAct.setEnabled( |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1393 | enable and Preferences.getPip("VulnerabilityCheckEnabled") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1394 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1395 | |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
1396 | self.__cyclonedxAct.setEnabled(enable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1397 | |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
1398 | self.__showLicensesDialogAct.setEnabled(enable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1399 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1400 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1401 | def __installPip(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1402 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1403 | Private slot to install pip into the selected environment. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1404 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1405 | venvName = self.environmentsComboBox.currentText() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1406 | if venvName: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1407 | self.__pip.installPip(venvName) |
7826
704c46e040a2
PipInterface: some little enhancements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
1408 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1409 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1410 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1411 | def __installPipUser(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1412 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1413 | Private slot to install pip into the user site for the selected |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1414 | environment. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1415 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1416 | venvName = self.environmentsComboBox.currentText() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1417 | if venvName: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1418 | self.__pip.installPip(venvName, userSite=True) |
7826
704c46e040a2
PipInterface: some little enhancements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
1419 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1420 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1421 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1422 | def __repairPip(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1423 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1424 | Private slot to repair the pip installation of the selected |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1425 | environment. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1426 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1427 | venvName = self.environmentsComboBox.currentText() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1428 | if venvName: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1429 | self.__pip.repairPip(venvName) |
7826
704c46e040a2
PipInterface: some little enhancements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
1430 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1431 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1432 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1433 | def __installPackages(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1434 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1435 | Private slot to install packages to be given by the user. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1436 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1437 | from .PipPackagesInputDialog import PipPackagesInputDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1438 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1439 | venvName = self.environmentsComboBox.currentText() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1440 | if venvName: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1441 | dlg = PipPackagesInputDialog(self, self.tr("Install Packages")) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
1442 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1443 | packages, user = dlg.getData() |
8090 | 1444 | self.executeInstallPackages(packages, userSite=user) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1445 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1446 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1447 | def __installLocalPackage(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1448 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1449 | Private slot to install a package available on local storage. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1450 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1451 | from .PipFileSelectionDialog import PipFileSelectionDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1452 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1453 | venvName = self.environmentsComboBox.currentText() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1454 | if venvName: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1455 | dlg = PipFileSelectionDialog(self, "package") |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8090
diff
changeset
|
1456 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1457 | package, user = dlg.getData() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1458 | if package and os.path.exists(package): |
8090 | 1459 | self.executeInstallPackages([package], userSite=user) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1460 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1461 | @pyqtSlot() |
8152 | 1462 | def __reinstallPackages(self): |
1463 | """ | |
1464 | Private slot to force a re-installation of the selected packages. | |
1465 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1466 | packages = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1467 | itm.text(PipPackagesWidget.PackageColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1468 | for itm in self.packagesList.selectedItems() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1469 | ] |
8152 | 1470 | venvName = self.environmentsComboBox.currentText() |
1471 | if venvName and packages: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1472 | self.__pip.installPackages(packages, venvName=venvName, forceReinstall=True) |
8152 | 1473 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1474 | |
8152 | 1475 | @pyqtSlot() |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1476 | def __installRequirements(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1477 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1478 | Private slot to install packages as given in a requirements file. |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1479 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1480 | venvName = self.environmentsComboBox.currentText() |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1481 | if venvName: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1482 | self.__pip.installRequirements(venvName) |
7826
704c46e040a2
PipInterface: some little enhancements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
1483 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1484 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1485 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1486 | def __uninstallRequirements(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1487 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1488 | Private slot to uninstall packages as given in a requirements file. |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1489 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1490 | venvName = self.environmentsComboBox.currentText() |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1491 | if venvName: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1492 | self.__pip.uninstallRequirements(venvName) |
7826
704c46e040a2
PipInterface: some little enhancements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
1493 | self.on_refreshButton_clicked() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1494 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1495 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1496 | def __generateRequirements(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1497 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1498 | Private slot to generate the contents for a requirements file. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1499 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1500 | from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1501 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1502 | venvName = self.environmentsComboBox.currentText() |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1503 | if venvName: |
9243 | 1504 | self.__freezeDialog = PipFreezeDialog( |
1505 | self.__pip, mode=PipFreezeDialogModes.Requirements, parent=self | |
1506 | ) | |
1507 | self.__freezeDialog.show() | |
1508 | self.__freezeDialog.start(venvName) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1509 | |
9243 | 1510 | @pyqtSlot() |
1511 | def __generateConstraints(self): | |
1512 | """ | |
1513 | Private slot to generate the contents for a constraints file. | |
1514 | """ | |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1515 | from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1516 | |
9243 | 1517 | venvName = self.environmentsComboBox.currentText() |
1518 | if venvName: | |
1519 | self.__freezeDialog = PipFreezeDialog( | |
1520 | self.__pip, mode=PipFreezeDialogModes.Constraints, parent=self | |
1521 | ) | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1522 | self.__freezeDialog.show() |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1523 | self.__freezeDialog.start(venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1524 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1525 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1526 | def __editUserConfiguration(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1527 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1528 | Private slot to edit the user configuration. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1529 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1530 | self.__editConfiguration() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1531 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1532 | @pyqtSlot() |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1533 | def __editVirtualenvConfiguration(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1534 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1535 | Private slot to edit the configuration of the selected environment. |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1536 | """ |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1537 | venvName = self.environmentsComboBox.currentText() |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1538 | if venvName: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1539 | self.__editConfiguration(venvName=venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1540 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1541 | def __editConfiguration(self, venvName=""): |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1542 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1543 | Private method to edit a configuration. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1544 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1545 | @param venvName name of the environment to act upon |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1546 | @type str |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1547 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
1548 | from eric7.QScintilla.MiniEditor import MiniEditor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1549 | |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1550 | if venvName: |
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1551 | cfgFile = self.__pip.getVirtualenvConfig(venvName) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1552 | if not cfgFile: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1553 | return |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1554 | else: |
6798
3985c1a67fa2
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6795
diff
changeset
|
1555 | cfgFile = self.__pip.getUserConfig() |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1556 | cfgDir = os.path.dirname(cfgFile) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1557 | if not cfgDir: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1558 | EricMessageBox.critical( |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1559 | None, |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1560 | self.tr("Edit Configuration"), |
9573
9960d19d66b5
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9569
diff
changeset
|
1561 | self.tr("""No valid configuration path determined. Aborting"""), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1562 | ) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1563 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1564 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1565 | try: |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1566 | if not os.path.isdir(cfgDir): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1567 | os.makedirs(cfgDir) |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1568 | except OSError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1569 | EricMessageBox.critical( |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1570 | None, |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1571 | self.tr("Edit Configuration"), |
9573
9960d19d66b5
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9569
diff
changeset
|
1572 | self.tr("""No valid configuration path determined. Aborting"""), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1573 | ) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1574 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1575 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1576 | if not os.path.exists(cfgFile): |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1577 | with contextlib.suppress(OSError), open(cfgFile, "w") as f: |
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1578 | f.write("[global]\n") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1579 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1580 | # check, if the destination is writeable |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1581 | if not os.access(cfgFile, os.W_OK): |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1582 | EricMessageBox.critical( |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1583 | None, |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1584 | self.tr("Edit Configuration"), |
9573
9960d19d66b5
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9569
diff
changeset
|
1585 | self.tr("""No valid configuration path determined. Aborting"""), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1586 | ) |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1587 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1588 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1589 | self.__editor = MiniEditor(cfgFile, "Properties") |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1590 | self.__editor.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1591 | |
6795
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1592 | def __pipConfigure(self): |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1593 | """ |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1594 | Private slot to open the configuration page. |
6e2ed2aac325
PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6793
diff
changeset
|
1595 | """ |
10084
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1596 | try: |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1597 | ericApp().getObject("UserInterface").showPreferences("pipPage") |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1598 | except KeyError: |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1599 | # we were called from outside the eric IDE |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1600 | from eric7.Preferences.ConfigurationDialog import ( # noqa: I101 |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1601 | ConfigurationDialog, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1602 | ConfigurationMode, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1603 | ) |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1604 | |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1605 | dlg = ConfigurationDialog( |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1606 | None, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1607 | "Configuration", |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1608 | True, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1609 | fromEric=False, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1610 | displayMode=ConfigurationMode.PIPMANAGERMODE, |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1611 | ) |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1612 | dlg.show() |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1613 | dlg.showConfigurationPageByName("pipPage") |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1614 | dlg.exec() |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1615 | if dlg.result() == QDialog.DialogCode.Accepted: |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1616 | dlg.setPreferences() |
125166c6b66c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
1617 | Preferences.syncPreferences() |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1618 | self.preferencesChanged() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1619 | |
7626
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1620 | @pyqtSlot() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1621 | def __showCacheInfo(self): |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1622 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1623 | Private slot to show information about the cache. |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1624 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1625 | venvName = self.environmentsComboBox.currentText() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1626 | if venvName: |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1627 | self.__pip.showCacheInfo(venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1628 | |
7626
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1629 | @pyqtSlot() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1630 | def __showCacheList(self): |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1631 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1632 | Private slot to show a list of cached files. |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1633 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1634 | venvName = self.environmentsComboBox.currentText() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1635 | if venvName: |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1636 | self.__pip.cacheList(venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1637 | |
7626
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1638 | @pyqtSlot() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1639 | def __removeCachedFiles(self): |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1640 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1641 | Private slot to remove files from the pip cache. |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1642 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1643 | venvName = self.environmentsComboBox.currentText() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1644 | if venvName: |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1645 | self.__pip.cacheRemove(venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1646 | |
7626
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1647 | @pyqtSlot() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1648 | def __purgeCache(self): |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1649 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1650 | Private slot to empty the pip cache. |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1651 | """ |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1652 | venvName = self.environmentsComboBox.currentText() |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1653 | if venvName: |
7f643d41464e
pip Interface: added menu action for pip cache management.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7477
diff
changeset
|
1654 | self.__pip.cachePurge(venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1655 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1656 | ################################################################## |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1657 | ## Interface to the vulnerability checks below |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1658 | ################################################################## |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1659 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1660 | @pyqtSlot(bool) |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1661 | def setVulnerabilityEnabled(self, enable): |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1662 | """ |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1663 | Public slot to set the enabled state of the vulnerability checks. |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1664 | |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1665 | @param enable vulnerability checks enabled state |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1666 | @type bool |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1667 | """ |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1668 | self.vulnerabilityCheckBox.setChecked(enable) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1669 | self.vulnerabilityCheckBox.setEnabled(enable) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1670 | self.packagesList.setColumnHidden( |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1671 | PipPackagesWidget.VulnerabilityColumn, not enable |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1672 | ) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1673 | |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1674 | @pyqtSlot(bool) |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1675 | def on_vulnerabilityCheckBox_clicked(self, checked): |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1676 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1677 | Private slot handling a change of the automatic vulnerability checks. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1678 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1679 | @param checked flag indicating the state of the check box |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1680 | @type bool |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1681 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1682 | if checked: |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1683 | self.__updateVulnerabilityData(clearFirst=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1684 | |
9114
d8abe530dae0
Changed code of the pip widget to only show vulnerability column, if the associated checkbox is ticked.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9108
diff
changeset
|
1685 | self.packagesList.header().setSectionHidden( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1686 | PipPackagesWidget.VulnerabilityColumn, not checked |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1687 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1688 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1689 | @pyqtSlot() |
9581
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1690 | def __checkVulnerability(self): |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1691 | """ |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1692 | Private slot to update and show the vulnerability data (called from the menu). |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1693 | """ |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1694 | self.vulnerabilityCheckBox.setChecked(True) |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1695 | self.on_vulnerabilityCheckBox_clicked(True) |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1696 | |
f0428ceedb41
Rearranged the PyPI (pip) widget layout (see issue468) and corrected a glitch in handling the menu action "Check Vulnerabilities".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9573
diff
changeset
|
1697 | @pyqtSlot() |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1698 | def __clearVulnerabilityInfo(self): |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1699 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1700 | Private slot to clear the vulnerability info. |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1701 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1702 | for row in range(self.packagesList.topLevelItemCount()): |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1703 | itm = self.packagesList.topLevelItem(row) |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1704 | itm.setText(PipPackagesWidget.VulnerabilityColumn, "") |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1705 | itm.setToolTip(PipPackagesWidget.VulnerabilityColumn, "") |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1706 | itm.setIcon(PipPackagesWidget.VulnerabilityColumn, QIcon()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1707 | itm.setData( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1708 | PipPackagesWidget.VulnerabilityColumn, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1709 | PipPackagesWidget.VulnerabilityRole, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1710 | None, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1711 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1712 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1713 | @pyqtSlot() |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1714 | def __updateVulnerabilityData(self, clearFirst=True): |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1715 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1716 | Private slot to update the shown vulnerability info. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1717 | |
8977
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1718 | @param clearFirst flag indicating to clear the vulnerability info first |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1719 | (defaults to True) |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1720 | @type bool (optional) |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1721 | """ |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1722 | if clearFirst: |
663521af48b2
Started implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
1723 | self.__clearVulnerabilityInfo() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1724 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1725 | packages = [] |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1726 | for row in range(self.packagesList.topLevelItemCount()): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1727 | itm = self.packagesList.topLevelItem(row) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1728 | packages.append( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1729 | Package( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1730 | name=itm.text(PipPackagesWidget.PackageColumn), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1731 | version=itm.text(PipPackagesWidget.InstalledVersionColumn), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1732 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1733 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1734 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1735 | error, vulnerabilities = self.__pip.getVulnerabilityChecker().check(packages) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1736 | if error == VulnerabilityCheckError.OK: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1737 | for package in vulnerabilities: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1738 | items = self.packagesList.findItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1739 | package, Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1740 | ) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1741 | if items: |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1742 | itm = items[0] |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1743 | itm.setData( |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1744 | PipPackagesWidget.VulnerabilityColumn, |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1745 | PipPackagesWidget.VulnerabilityRole, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1746 | vulnerabilities[package], |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1747 | ) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1748 | affected = {v.spec for v in vulnerabilities[package]} |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1749 | itm.setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1750 | PipPackagesWidget.VulnerabilityColumn, ", ".join(affected) |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1751 | ) |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1752 | itm.setIcon( |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1753 | PipPackagesWidget.VulnerabilityColumn, |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9243
diff
changeset
|
1754 | EricPixmapCache.getIcon("securityLow"), |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1755 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1756 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1757 | elif error in ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1758 | VulnerabilityCheckError.FullDbUnavailable, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1759 | VulnerabilityCheckError.SummaryDbUnavailable, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1760 | ): |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
1761 | self.setVulnerabilityEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1762 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1763 | @pyqtSlot() |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1764 | def __updateVulnerabilityDbCache(self): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1765 | """ |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1766 | Private slot to initiate an update of the local cache of the |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1767 | vulnerability database. |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1768 | """ |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1769 | with EricOverrideCursor(): |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1770 | self.__pip.getVulnerabilityChecker().updateVulnerabilityDb() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1771 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1772 | def __showVulnerabilityInformation( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1773 | self, packageName, packageVersion, vulnerabilities |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1774 | ): |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1775 | """ |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1776 | Private method to show the detected vulnerability data. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1777 | |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1778 | @param packageName name of the package |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1779 | @type str |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1780 | @param packageVersion installed version number |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1781 | @type str |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1782 | @param vulnerabilities list of vulnerabilities |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1783 | @type list of Vulnerability |
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1784 | """ |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1785 | if vulnerabilities: |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1786 | header = self.tr("{0} {1}", "package name, package version").format( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1787 | packageName, packageVersion |
8978
38c3ddf21537
Continued implementing a vulnerability checker based on the data of the Safety DB.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8977
diff
changeset
|
1788 | ) |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1789 | topItem = QTreeWidgetItem(self.vulnerabilitiesInfoWidget, [header]) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1790 | topItem.setFirstColumnSpanned(True) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1791 | topItem.setExpanded(True) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1792 | font = topItem.font(0) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1793 | font.setBold(True) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1794 | topItem.setFont(0, font) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1795 | |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1796 | for vulnerability in vulnerabilities: |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1797 | title = ( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1798 | vulnerability.cve |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1799 | if vulnerability.cve |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1800 | else vulnerability.vulnerabilityId |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1801 | ) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1802 | titleItem = QTreeWidgetItem(topItem, [title]) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1803 | titleItem.setFirstColumnSpanned(True) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1804 | titleItem.setExpanded(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1805 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1806 | QTreeWidgetItem( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1807 | titleItem, [self.tr("Affected Version:"), vulnerability.spec] |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1808 | ) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1809 | itm = QTreeWidgetItem( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1810 | titleItem, [self.tr("Advisory:"), vulnerability.advisory] |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1811 | ) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1812 | itm.setToolTip( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1813 | 1, |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1814 | "<p>{0}</p>".format( |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1815 | vulnerability.advisory.replace("\r\n", "<br/>") |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1816 | ), |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1817 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1818 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1819 | self.vulnerabilitiesInfoWidget.scrollToTop() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1820 | self.vulnerabilitiesInfoWidget.resizeColumnToContents(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1821 | |
10105
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1822 | header = self.vulnerabilitiesInfoWidget.header() |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1823 | header.setStretchLastSection(True) |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1824 | else: |
5765f4c8543f
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10104
diff
changeset
|
1825 | self.vulnerabilitiesInfoWidget.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1826 | |
8997 | 1827 | ####################################################################### |
1828 | ## Dependency tree related methods below | |
1829 | ####################################################################### | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1830 | |
8997 | 1831 | @pyqtSlot(bool) |
1832 | def on_viewToggleButton_toggled(self, checked): | |
1833 | """ | |
1834 | Private slot handling the view selection. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1835 | |
8997 | 1836 | @param checked state of the toggle button |
1837 | @type bool | |
1838 | """ | |
1839 | if checked: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1840 | self.viewsStackWidget.setCurrentWidget(self.dependenciesPage) |
8997 | 1841 | self.__refreshDependencyTree() |
1842 | else: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1843 | self.viewsStackWidget.setCurrentWidget(self.packagesPage) |
8997 | 1844 | self.__refreshPackagesList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1845 | |
8997 | 1846 | @pyqtSlot(bool) |
1847 | def on_requiresButton_toggled(self, checked): | |
1848 | """ | |
1849 | Private slot handling the selection of the view type. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1850 | |
8997 | 1851 | @param checked state of the radio button (unused) |
1852 | @type bool | |
1853 | """ | |
1854 | self.__refreshDependencyTree() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1855 | |
8997 | 1856 | @pyqtSlot() |
1857 | def on_localDepCheckBox_clicked(self): | |
1858 | """ | |
1859 | Private slot handling the switching of the local mode. | |
1860 | """ | |
1861 | self.__refreshDependencyTree() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1862 | |
8997 | 1863 | @pyqtSlot() |
1864 | def on_userDepCheckBox_clicked(self): | |
1865 | """ | |
1866 | Private slot handling the switching of the 'user-site' mode. | |
1867 | """ | |
1868 | self.__refreshDependencyTree() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1869 | |
8997 | 1870 | def __refreshDependencyTree(self): |
1871 | """ | |
1872 | Private method to refresh the dependency tree. | |
1873 | """ | |
1874 | self.dependenciesList.clear() | |
1875 | venvName = self.environmentsComboBox.currentText() | |
1876 | if venvName: | |
1877 | interpreter = self.__pip.getVirtualenvInterpreter(venvName) | |
1878 | if interpreter: | |
1879 | with EricOverrideCursor(): | |
9121
6ac528d4f318
Corrected a typo in a method name of the Pip class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9120
diff
changeset
|
1880 | dependencies = self.__pip.getDependencyTree( |
8997 | 1881 | venvName, |
1882 | localPackages=self.localDepCheckBox.isChecked(), | |
1883 | usersite=self.userDepCheckBox.isChecked(), | |
9001
a00cd6b55728
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9000
diff
changeset
|
1884 | reverse=self.requiredByButton.isChecked(), |
8997 | 1885 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1886 | |
8997 | 1887 | self.dependenciesList.setUpdatesEnabled(False) |
1888 | for dependency in dependencies: | |
1889 | self.__addDependency(dependency, self.dependenciesList) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1890 | |
8997 | 1891 | self.dependenciesList.sortItems( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1892 | PipPackagesWidget.DepPackageColumn, Qt.SortOrder.AscendingOrder |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1893 | ) |
8997 | 1894 | for col in range(self.dependenciesList.columnCount()): |
1895 | self.dependenciesList.resizeColumnToContents(col) | |
1896 | self.dependenciesList.setUpdatesEnabled(True) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1897 | |
8997 | 1898 | self.__updateDepActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1899 | |
8997 | 1900 | def __addDependency(self, dependency, parent): |
1901 | """ | |
1902 | Private method to add a dependency branch to a given parent. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1903 | |
8997 | 1904 | @param dependency dependency to be added |
1905 | @type dict | |
1906 | @param parent reference to the parent item | |
1907 | @type QTreeWidget or QTreeWidgetItem | |
1908 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1909 | itm = QTreeWidgetItem( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1910 | parent, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1911 | [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1912 | dependency["package_name"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1913 | dependency["installed_version"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1914 | dependency["required_version"], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1915 | ], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1916 | ) |
8997 | 1917 | itm.setExpanded(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1918 | |
9120
5fb0ffe30569
Fixed an issue in the pip dependency display causing an exception if a package specifier i not known (i.e. is '?').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
1919 | if dependency["installed_version"] == "?": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1920 | itm.setText(PipPackagesWidget.DepInstalledVersionColumn, self.tr("unknown")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1921 | |
9120
5fb0ffe30569
Fixed an issue in the pip dependency display causing an exception if a package specifier i not known (i.e. is '?').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
1922 | if dependency["required_version"].lower() not in ("any", "?"): |
8997 | 1923 | spec = ( |
1924 | "=={0}".format(dependency["required_version"]) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1925 | if dependency["required_version"][0] in "0123456789" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1926 | else dependency["required_version"] |
8997 | 1927 | ) |
10093
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1928 | try: |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1929 | specifierSet = SpecifierSet(specifiers=spec) |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1930 | if not specifierSet.contains(dependency["installed_version"]): |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1931 | itm.setIcon( |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1932 | PipPackagesWidget.DepRequiredVersionColumn, |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1933 | EricPixmapCache.getIcon("warning"), |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1934 | ) |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1935 | except InvalidSpecifier: |
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1936 | itm.setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1937 | PipPackagesWidget.DepRequiredVersionColumn, |
10093
245505200513
Added code to handle an invalid dependency specifier showing the dependency tree.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10084
diff
changeset
|
1938 | dependency["required_version"], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1939 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1940 | |
9120
5fb0ffe30569
Fixed an issue in the pip dependency display causing an exception if a package specifier i not known (i.e. is '?').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
1941 | elif dependency["required_version"].lower() == "any": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1942 | itm.setText(PipPackagesWidget.DepRequiredVersionColumn, self.tr("any")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1943 | |
9120
5fb0ffe30569
Fixed an issue in the pip dependency display causing an exception if a package specifier i not known (i.e. is '?').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9117
diff
changeset
|
1944 | elif dependency["required_version"] == "?": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1945 | itm.setText(PipPackagesWidget.DepRequiredVersionColumn, self.tr("unknown")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1946 | |
8997 | 1947 | # recursively add sub-dependencies |
1948 | for dep in dependency["dependencies"]: | |
1949 | self.__addDependency(dep, itm) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1950 | |
8997 | 1951 | @pyqtSlot(QTreeWidgetItem, int) |
1952 | def on_dependenciesList_itemActivated(self, item, column): | |
1953 | """ | |
1954 | Private slot reacting on a package item of the dependency tree being | |
1955 | activated. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1956 | |
8997 | 1957 | @param item reference to the activated item |
1958 | @type QTreeWidgetItem | |
1959 | @param column activated column | |
1960 | @type int | |
1961 | """ | |
1962 | packageName = item.text(PipPackagesWidget.DepPackageColumn) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1963 | packageVersion = item.text(PipPackagesWidget.DepInstalledVersionColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1964 | |
8997 | 1965 | self.__showPackageDetails(packageName, packageVersion) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1966 | |
8997 | 1967 | @pyqtSlot() |
1968 | def on_dependenciesList_itemSelectionChanged(self): | |
1969 | """ | |
1970 | Private slot reacting on a change of selected items of the dependency | |
1971 | tree. | |
1972 | """ | |
1973 | if len(self.dependenciesList.selectedItems()) == 0: | |
1974 | self.dependencyInfoWidget.clear() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1975 | |
9234 | 1976 | self.__updateDepActionButtons() |
1977 | ||
8997 | 1978 | @pyqtSlot(QTreeWidgetItem, int) |
1979 | def on_dependenciesList_itemPressed(self, item, column): | |
1980 | """ | |
1981 | Private slot reacting on a package item of the dependency tree being | |
1982 | pressed. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1983 | |
8997 | 1984 | @param item reference to the pressed item |
1985 | @type QTreeWidgetItem | |
1986 | @param column pressed column | |
1987 | @type int | |
1988 | """ | |
1989 | self.dependencyInfoWidget.clear() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1990 | |
8997 | 1991 | if item is not None: |
1992 | self.__showPackageInformation( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1993 | item.text(PipPackagesWidget.DepPackageColumn), self.dependencyInfoWidget |
8997 | 1994 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1995 | |
8997 | 1996 | self.__updateDepActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1997 | |
8997 | 1998 | @pyqtSlot() |
1999 | def on_refreshDependenciesButton_clicked(self): | |
2000 | """ | |
2001 | Private slot to refresh the dependency tree. | |
2002 | """ | |
2003 | currentEnvironment = self.environmentsComboBox.currentText() | |
2004 | self.environmentsComboBox.clear() | |
2005 | self.dependenciesList.clear() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2006 | |
8997 | 2007 | with EricOverrideCursor(): |
2008 | self.__populateEnvironments() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2009 | |
8997 | 2010 | index = self.environmentsComboBox.findText( |
2011 | currentEnvironment, | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2012 | Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive, |
8997 | 2013 | ) |
2014 | if index != -1: | |
2015 | self.environmentsComboBox.setCurrentIndex(index) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2016 | |
8997 | 2017 | self.__updateDepActionButtons() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2018 | |
8997 | 2019 | @pyqtSlot() |
2020 | def on_showDepPackageDetailsButton_clicked(self): | |
2021 | """ | |
2022 | Private slot to show information for the selected package of the | |
2023 | dependency tree. | |
2024 | """ | |
2025 | item = self.dependenciesList.selectedItems()[0] | |
2026 | if item: | |
2027 | packageName = item.text(PipPackagesWidget.DepPackageColumn) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2028 | packageVersion = item.text(PipPackagesWidget.DepInstalledVersionColumn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2029 | |
8997 | 2030 | self.__showPackageDetails(packageName, packageVersion) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2031 | |
8997 | 2032 | def __updateDepActionButtons(self): |
2033 | """ | |
2034 | Private method to set the state of the dependency page action buttons. | |
2035 | """ | |
2036 | self.showDepPackageDetailsButton.setEnabled( | |
9234 | 2037 | len(self.dependenciesList.selectedItems()) == 1 |
2038 | ) | |
2039 | ||
2040 | self.dependencyRepairButton.setEnabled( | |
2041 | any( | |
2042 | not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull() | |
2043 | for itm in self.dependenciesList.selectedItems() | |
2044 | ) | |
8997 | 2045 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2046 | |
10133
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2047 | itm = self.dependenciesList.topLevelItem(0) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2048 | while itm: |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2049 | if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull(): |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2050 | self.dependencyRepairAllButton.setEnabled(True) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2051 | break |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2052 | itm = self.dependenciesList.itemBelow(itm) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2053 | else: |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2054 | self.dependencyRepairAllButton.setEnabled(False) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2055 | |
9234 | 2056 | @pyqtSlot() |
2057 | def on_dependencyRepairButton_clicked(self): | |
2058 | """ | |
2059 | Private slot to repair all selected dependencies. | |
2060 | """ | |
10133
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2061 | packages = set() |
9234 | 2062 | for itm in self.dependenciesList.selectedItems(): |
2063 | if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull(): | |
10133
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2064 | packages.add( |
9234 | 2065 | "{0}{1}".format( |
2066 | itm.text(PipPackagesWidget.DepPackageColumn), | |
2067 | itm.text(PipPackagesWidget.DepRequiredVersionColumn), | |
2068 | ) | |
2069 | ) | |
2070 | ||
2071 | venvName = self.environmentsComboBox.currentText() | |
2072 | if venvName and packages: | |
2073 | self.__pip.installPackages( | |
10133
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2074 | list(packages), |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2075 | venvName=venvName, |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2076 | userSite=self.userDepCheckBox.isChecked(), |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2077 | ) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2078 | self.on_refreshDependenciesButton_clicked() |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2079 | |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2080 | @pyqtSlot() |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2081 | def on_dependencyRepairAllButton_clicked(self): |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2082 | """ |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2083 | Private slot to repair all dependencies. |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2084 | """ |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2085 | packages = set() |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2086 | itm = self.dependenciesList.topLevelItem(0) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2087 | while itm: |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2088 | if not itm.icon(PipPackagesWidget.DepRequiredVersionColumn).isNull(): |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2089 | packages.add( |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2090 | "{0}{1}".format( |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2091 | itm.text(PipPackagesWidget.DepPackageColumn), |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2092 | itm.text(PipPackagesWidget.DepRequiredVersionColumn), |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2093 | ) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2094 | ) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2095 | itm = self.dependenciesList.itemBelow(itm) |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2096 | |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2097 | venvName = self.environmentsComboBox.currentText() |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2098 | if venvName and packages: |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2099 | self.__pip.installPackages( |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2100 | list(packages), |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2101 | venvName=venvName, |
39d1353996b9
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10105
diff
changeset
|
2102 | userSite=self.userDepCheckBox.isChecked(), |
9234 | 2103 | ) |
2104 | self.on_refreshDependenciesButton_clicked() | |
2105 | ||
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2106 | ################################################################## |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2107 | ## Interface to show the licenses dialog below |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2108 | ################################################################## |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2109 | |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2110 | @pyqtSlot() |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2111 | def __showLicensesDialog(self): |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2112 | """ |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2113 | Private slot to show a dialog with the licenses of the selected |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2114 | environment. |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2115 | """ |
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2116 | from .PipLicensesDialog import PipLicensesDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2117 | |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2118 | environment = self.environmentsComboBox.currentText() |
9003
6bc210cd5726
Finished implementing the basic functionality of a license lister for pip installed packages (based on pip-licenses).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9002
diff
changeset
|
2119 | dlg = PipLicensesDialog( |
6bc210cd5726
Finished implementing the basic functionality of a license lister for pip installed packages (based on pip-licenses).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9002
diff
changeset
|
2120 | self.__pip, |
6bc210cd5726
Finished implementing the basic functionality of a license lister for pip installed packages (based on pip-licenses).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9002
diff
changeset
|
2121 | environment, |
9851
ec12090e9cd9
Modified the pip licenses dialog to show the license data for packages contained in the packages list only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9717
diff
changeset
|
2122 | packages=self.__allPackageNames(), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2123 | parent=self, |
9003
6bc210cd5726
Finished implementing the basic functionality of a license lister for pip installed packages (based on pip-licenses).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9002
diff
changeset
|
2124 | ) |
9002
31a7decd3393
Started to implement a license lister for pip installed packages based on pip-licenses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9001
diff
changeset
|
2125 | dlg.exec() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2126 | |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2127 | ################################################################## |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2128 | ## Interface to create a SBOM file using CycloneDX |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2129 | ################################################################## |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2130 | |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2131 | @pyqtSlot() |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2132 | def __createSBOMFile(self): |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2133 | """ |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2134 | Private slot to create a "Software Bill Of Material" file. |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2135 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
2136 | import CycloneDXInterface # __IGNORE_WARNING_I102__ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2137 | |
9117
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2138 | venvName = self.environmentsComboBox.currentText() |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2139 | if venvName == self.__pip.getProjectEnvironmentString(): |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2140 | venvName = "<project>" |
c6afba2049cf
CycloneDX Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9114
diff
changeset
|
2141 | CycloneDXInterface.createCycloneDXFile(venvName) |
10206
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2142 | |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2143 | ################################################################## |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2144 | ## Interface to preferences |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2145 | ################################################################## |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2146 | |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2147 | @pyqtSlot() |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2148 | def preferencesChanged(self): |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2149 | """ |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2150 | Public slot to handle a change of preferences. |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2151 | """ |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2152 | enable = self.setVulnerabilityEnabled( |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2153 | Preferences.getPip("VulnerabilityCheckEnabled") |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2154 | ) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2155 | if enable != self.vulnerabilityCheckBox.isEnabled(): |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2156 | # only if status changes because it is an expensive operation |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2157 | if self.vulnerabilityCheckBox.isChecked(): |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2158 | self.__updateVulnerabilityData(clearFirst=True) |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2159 | else: |
d6921563be6c
pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10133
diff
changeset
|
2160 | self.__clearVulnerabilityInfo() |