5 |
5 |
6 """ |
6 """ |
7 Module implementing the pip packages management widget. |
7 Module implementing the pip packages management widget. |
8 """ |
8 """ |
9 |
9 |
|
10 import contextlib |
|
11 import html.parser |
|
12 import os |
10 import textwrap |
13 import textwrap |
11 import os |
|
12 import html.parser |
|
13 import contextlib |
|
14 |
14 |
15 from packaging.specifiers import SpecifierSet |
15 from packaging.specifiers import SpecifierSet |
16 |
16 from PyQt6.QtCore import Qt, QUrl, QUrlQuery, pyqtSlot |
17 from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QUrlQuery |
|
18 from PyQt6.QtGui import QIcon |
17 from PyQt6.QtGui import QIcon |
19 from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest |
18 from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest |
20 from PyQt6.QtWidgets import ( |
19 from PyQt6.QtWidgets import ( |
|
20 QAbstractItemView, |
|
21 QApplication, |
|
22 QDialog, |
|
23 QHeaderView, |
|
24 QMenu, |
|
25 QToolButton, |
|
26 QTreeWidgetItem, |
21 QWidget, |
27 QWidget, |
22 QToolButton, |
|
23 QApplication, |
|
24 QHeaderView, |
|
25 QTreeWidgetItem, |
|
26 QMenu, |
|
27 QDialog, |
|
28 QAbstractItemView, |
|
29 ) |
28 ) |
30 |
29 |
|
30 from eric7 import Globals, Preferences |
|
31 from eric7.EricGui import EricPixmapCache |
|
32 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
|
33 from eric7.EricWidgets import EricMessageBox |
31 from eric7.EricWidgets.EricApplication import ericApp |
34 from eric7.EricWidgets.EricApplication import ericApp |
32 from eric7.EricWidgets import EricMessageBox |
|
33 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
|
34 |
35 |
35 from .PipVulnerabilityChecker import Package, VulnerabilityCheckError |
36 from .PipVulnerabilityChecker import Package, VulnerabilityCheckError |
36 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget |
37 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget |
37 |
|
38 from eric7.EricGui import EricPixmapCache |
|
39 from eric7 import Globals, Preferences |
|
40 |
38 |
41 |
39 |
42 class PypiSearchResultsParser(html.parser.HTMLParser): |
40 class PypiSearchResultsParser(html.parser.HTMLParser): |
43 """ |
41 """ |
44 Class implementing the parser for the PyPI search result page. |
42 Class implementing the parser for the PyPI search result page. |