eric6/PipInterface/PipPackageDetailsDialog.py

Sat, 10 Apr 2021 18:38:27 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 10 Apr 2021 18:38:27 +0200
changeset 8218
7c09585bd960
parent 8143
2c730d5fd177
child 8222
5994b80b8760
permissions
-rw-r--r--

Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).

6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7780
diff changeset
3 # Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to show details about a package.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
10 from PyQt5.QtCore import pyqtSlot, Qt, QLocale
7255
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
11 from PyQt5.QtWidgets import (
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
12 QDialog, QDialogButtonBox, QTreeWidgetItem, QLabel, QHeaderView,
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
13 QAbstractButton
7255
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
14 )
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_PipPackageDetailsDialog import Ui_PipPackageDetailsDialog
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class PipPackageDetailsDialog(QDialog, Ui_PipPackageDetailsDialog):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
6047
39586a2de99d Fixed some forgotten source code documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6011
diff changeset
21 Class implementing a dialog to show details about a package.
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
23 ButtonInstall = 1
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
24 ButtonRemove = 2
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
25 ButtonUpgrade = 4
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
26
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
27 def __init__(self, detailsData, buttonsMode=0, parent=None):
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Constructor
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
31 @param detailsData package details
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
32 @type dict
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
33 @param buttonsMode flags telling which convenience buttons to enable
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
34 (defaults to 0)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
35 @type int (optional)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
36 @param parent reference to the parent widget (defaults to None)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
37 @type QWidget (optional)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
39 super().__init__(parent)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setupUi(self)
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
41 self.setWindowFlags(Qt.WindowType.Window)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
43 self.__pipWidget = parent
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
44
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
45 self.__installButton = self.buttonBox.addButton(
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
46 self.tr("Install"), QDialogButtonBox.ButtonRole.ActionRole)
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
47 self.__removeButton = self.buttonBox.addButton(
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
48 self.tr("Uninstall"), QDialogButtonBox.ButtonRole.ActionRole)
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
49 self.__upgradeButton = self.buttonBox.addButton(
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
50 self.tr("Upgrade"), QDialogButtonBox.ButtonRole.ActionRole)
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
51
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 self.__locale = QLocale()
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__packageTypeMap = {
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 "sdist": self.tr("Source"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 "bdist_wheel": self.tr("Python Wheel"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 "bdist_egg": self.tr("Python Egg"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 "bdist_wininst": self.tr("MS Windows Installer"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 "bdist_msi": self.tr("MS Windows Installer"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 "bdist_rpm": self.tr("Unix Installer"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 "bdist_deb": self.tr("Unix Installer"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 "bdist_dumb": self.tr("Archive"),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 }
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
63 self.__packageName = detailsData["info"]["name"]
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
6798
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
65 self.__populateDetails(detailsData["info"])
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
66 self.__populateDownloadUrls(detailsData["urls"])
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
67 self.__populateRequiresProvides(detailsData["info"])
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
68
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
69 self.__installButton.setEnabled(buttonsMode & self.ButtonInstall)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
70 self.__removeButton.setEnabled(buttonsMode & self.ButtonRemove)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
71 self.__upgradeButton.setEnabled(buttonsMode & self.ButtonUpgrade)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 def __populateDetails(self, detailsData):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 Private method to populate the details tab.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
77 @param detailsData package details
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
78 @type dict
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 self.packageNameLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 "<h1>{0} {1}</h1".format(self.__sanitize(detailsData["name"]),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__sanitize(detailsData["version"])))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.summaryLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.__sanitize(detailsData["summary"][:240]))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.descriptionEdit.setPlainText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__sanitize(detailsData["description"]))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 self.authorLabel.setText(self.__sanitize(detailsData["author"]))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 self.authorEmailLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 '<a href="mailto:{0}">{0}</a>'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.__sanitize(detailsData["author_email"])))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 self.licenseLabel.setText(self.__sanitize(detailsData["license"]))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.platformLabel.setText(self.__sanitize(detailsData["platform"]))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.homePageLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 '<a href="{0}">{0}</a>'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.__sanitize(detailsData["home_page"], forUrl=True)))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 self.packageUrlLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 '<a href="{0}">{0}</a>'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.__sanitize(detailsData["package_url"], forUrl=True)))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.releaseUrlLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 '<a href="{0}">{0}</a>'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.__sanitize(detailsData["release_url"], forUrl=True)))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.docsUrlLabel.setText(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 '<a href="{0}">{0}</a>'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.__sanitize(detailsData["docs_url"], forUrl=True)))
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 self.classifiersList.addItems(detailsData["classifiers"])
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106
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
107 self.buttonBox.button(
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
108 QDialogButtonBox.StandardButton.Close).setDefault(True)
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
109 self.buttonBox.button(
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
110 QDialogButtonBox.StandardButton.Close).setFocus(
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
111 Qt.FocusReason.OtherFocusReason)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 def __populateDownloadUrls(self, downloadsData):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 Private method to populate the download URLs tab.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
117 @param downloadsData downloads information
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
118 @type dict
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 index = self.infoWidget.indexOf(self.urls)
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 if downloadsData:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.infoWidget.setTabEnabled(index, True)
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 for download in downloadsData:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 itm = QTreeWidgetItem(self.downloadUrlsList, [
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 "",
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.__packageTypeMap[download["packagetype"]]
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 if download["packagetype"] in self.__packageTypeMap
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 else "",
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 download["python_version"]
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 if download["python_version"] != "source"
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 else "",
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 self.__formatUploadDate(download["upload_time"]),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.__formatSize(download["size"]),
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 ])
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 if download["has_sig"]:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 pgpLink = ' (<a href="{0}">pgp</a>)'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 download["url"] + ".asc")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 else:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 pgpLink = ""
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 urlLabel = QLabel('<a href="{0}#md5={2}">{1}</a>{3}'.format(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 download["url"], download["filename"],
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 download["md5_digest"], pgpLink))
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
143 urlLabel.setTextInteractionFlags(
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
144 Qt.TextInteractionFlag.LinksAccessibleByMouse)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 urlLabel.setOpenExternalLinks(True)
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.downloadUrlsList.setItemWidget(itm, 0, urlLabel)
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 header = self.downloadUrlsList.header()
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
148 header.resizeSections(QHeaderView.ResizeMode.ResizeToContents)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 else:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.infoWidget.setTabEnabled(index, False)
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 def __populateRequiresProvides(self, detailsData):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 Private method to populate the requires/provides tab.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
156 @param detailsData package details
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
157 @type dict
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 """
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
159 populatedItems = 0
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160
6798
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
161 if "requires" in detailsData and detailsData["requires"]:
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 self.requiredPackagesList.addItems(detailsData["requires"])
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
163 populatedItems += len(detailsData["requires"])
6798
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
164 if "requires_dist" in detailsData and detailsData["requires_dist"]:
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.requiredDistributionsList.addItems(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 detailsData["requires_dist"])
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
167 populatedItems += len(detailsData["requires_dist"])
6798
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
168 if "provides" in detailsData and detailsData["provides"]:
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.providedPackagesList.addItems(detailsData["provides"])
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
170 populatedItems += len(detailsData["provides"])
6798
3985c1a67fa2 PipInterface: continued with the pip interface widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6782
diff changeset
171 if "provides_dist" in detailsData and detailsData["provides_dist"]:
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 self.providedDistributionsList.addItems(
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 detailsData["provides_dist"])
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
174 populatedItems += len(detailsData["provides_dist"])
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 index = self.infoWidget.indexOf(self.requires)
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
177 self.infoWidget.setTabEnabled(index, populatedItems > 0)
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 def __sanitize(self, text, forUrl=False):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 Private method to clean-up the given text.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
183 @param text raw text
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
184 @type str
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
185 @param forUrl flag indicating to sanitize an URL text
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
186 @type bool
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
187 @return processed text
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
188 @rtype str
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 if text == "UNKNOWN":
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 text = ""
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 elif text == "any":
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 text = self.tr("any")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 elif text is None:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 text = ""
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 if forUrl:
7255
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
197 if (
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
198 not isinstance(text, str) or
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
199 not text.startswith(("http://", "https://", "ftp://"))
d595f6f9cbf8 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
200 ):
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 # ignore if the schema is not one of the listed ones
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 text = ""
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 return text
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 def __formatUploadDate(self, datetime):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 Private method to format the upload date.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
210 @param datetime upload date and time
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
211 @type xmlrpc.DateTime or str
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
212 @return formatted date string
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
213 @rtype str
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
214 """
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
215 if isinstance(datetime, str):
6258
c1bb436b524d Fixed a bug in the pip package details dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6253
diff changeset
216 return datetime.split("T")[0]
6253
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
217 else:
a148632e9610 pip interface plugin: fixed issues with the pip interface after they moved the index to the new site (pypi.org).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
218 date = datetime.value.split("T")[0]
6258
c1bb436b524d Fixed a bug in the pip package details dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6253
diff changeset
219 return "{0}-{1}-{2}".format(date[:4], date[4:6], date[6:])
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 def __formatSize(self, size):
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 Private slot to format the size.
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224
6342
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
225 @param size size to be formatted
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
226 @type int
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
227 @return formatted size
c79ecba9cde7 pip Interface: changed to use the new VirtualEnv Manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6287
diff changeset
228 @rtype str
6011
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 """
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 unit = ""
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 if size < 1024:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 unit = self.tr("B")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 elif size < 1024 * 1024:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 size /= 1024
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 unit = self.tr("KB")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 elif size < 1024 * 1024 * 1024:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 size /= 1024 * 1024
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 unit = self.tr("MB")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 else:
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 size /= 1024 * 1024 * 1024
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 unit = self.tr("GB")
e6af0dcfbb35 Added the pip interface plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 return self.tr("{0:.1f} {1}", "value, unit").format(size, unit)
8090
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
243
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
244 @pyqtSlot(QAbstractButton)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
245 def on_buttonBox_clicked(self, button):
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
246 """
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
247 Private slot handling the user pressing an action button.
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
248
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
249 @param button button activated by the user
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
250 @type QAbstractButton
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
251 """
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
252 if button is self.__installButton:
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
253 self.__pipWidget.executeInstallPackages([self.__packageName])
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
254 self.__installButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
255 self.__removeButton.setEnabled(True)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
256 self.__upgradeButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
257 self.raise_()
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
258 elif button is self.__removeButton:
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
259 self.__pipWidget.executeUninstallPackages([self.__packageName])
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
260 self.__installButton.setEnabled(True)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
261 self.__removeButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
262 self.__upgradeButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
263 self.raise_()
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
264 elif button is self.__upgradeButton:
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
265 self.__pipWidget.executeUpgradePackages([self.__packageName])
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
266 self.__installButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
267 self.__removeButton.setEnabled(True)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
268 self.__upgradeButton.setEnabled(False)
c53117374255 pip Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8086
diff changeset
269 self.raise_()

eric ide

mercurial