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