Sun, 12 Jan 2014 18:31:15 +0100
Removed all code setting the Qt.WA_DeleteOnClose widget attribute.
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
3160
209a07d7e401
Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2990
diff
changeset
|
3 | # Copyright (c) 2009 - 2014 Detlev Offenbach <detlev@die-offenbachs.de> |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a network monitor dialog. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
975
diff
changeset
|
10 | from PyQt4.QtCore import Qt, QAbstractTableModel, QModelIndex, QUrl |
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
975
diff
changeset
|
11 | from PyQt4.QtGui import QDialog, QStandardItemModel, QSortFilterProxyModel |
974
124032ef6b6d
Fixed a bug in E5NetworkMonitor connecting a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
12 | from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from .Ui_E5NetworkMonitor import Ui_E5NetworkMonitor |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
16 | |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | class E5NetworkRequest(object): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | Class for storing all data related to a specific request. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | def __init__(self): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | Constructor |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | self.op = -1 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | self.request = None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | self.reply = None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | self.response = "" |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self.length = 0 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.contentType = "" |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self.info = "" |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.replyHeaders = [] # list of tuple of two items |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
35 | |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | class E5NetworkMonitor(QDialog, Ui_E5NetworkMonitor): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | Class implementing a network monitor dialog. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | _monitor = None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @classmethod |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | def instance(cls, networkAccessManager): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | Class method to get a reference to our singleton. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | @param networkAccessManager reference to the network access manager |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | (QNetworkAccessManager) |
2953
703452a2876f
Started correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2401
diff
changeset
|
49 | @return reference to the network monitor singleton (E5NetworkMonitor) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | if cls._monitor is None: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | cls._monitor = E5NetworkMonitor(networkAccessManager) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | return cls._monitor |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | @classmethod |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | def closeMonitor(cls): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | Class method to close the monitor dialog. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | if cls._monitor is not None: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | cls._monitor.close() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
64 | def __init__(self, networkAccessManager, parent=None): |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | Constructor |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | @param networkAccessManager reference to the network access manager |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | (QNetworkAccessManager) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | @param parent reference to the parent widget (QWidget) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
72 | super().__init__(parent) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | self.setupUi(self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | self.__requestHeaders = QStandardItemModel(self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.__requestHeaders.setHorizontalHeaderLabels( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
77 | [self.tr("Name"), self.tr("Value")]) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.requestHeadersList.setModel(self.__requestHeaders) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.requestHeadersList.horizontalHeader().setStretchLastSection(True) |
463
8d0309c4b7f6
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
410
diff
changeset
|
80 | self.requestHeadersList.doubleClicked.connect(self.__showHeaderDetails) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.__replyHeaders = QStandardItemModel(self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | self.__replyHeaders.setHorizontalHeaderLabels( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
84 | [self.tr("Name"), self.tr("Value")]) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | self.responseHeadersList.setModel(self.__replyHeaders) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.responseHeadersList.horizontalHeader().setStretchLastSection(True) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
87 | self.responseHeadersList.doubleClicked.connect( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
88 | self.__showHeaderDetails) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | self.requestsList.horizontalHeader().setStretchLastSection(True) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self.requestsList.verticalHeader().setMinimumSectionSize(-1) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.__proxyModel = QSortFilterProxyModel(self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | self.__proxyModel.setFilterKeyColumn(-1) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
95 | self.searchEdit.textChanged.connect( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
96 | self.__proxyModel.setFilterFixedString) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
464
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
463
diff
changeset
|
98 | self.removeButton.clicked[()].connect(self.requestsList.removeSelected) |
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
463
diff
changeset
|
99 | self.removeAllButton.clicked[()].connect(self.requestsList.removeAll) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.__model = E5RequestModel(networkAccessManager, self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.__proxyModel.setSourceModel(self.__model) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.requestsList.setModel(self.__proxyModel) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
104 | self.__proxyModel.rowsInserted.connect( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
105 | self.requestsList.scrollToBottom) |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
106 | self.requestsList.selectionModel()\ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
107 | .currentChanged[QModelIndex, QModelIndex]\ |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
108 | .connect(self.__currentChanged) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | fm = self.fontMetrics() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | em = fm.width("m") |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
112 | self.requestsList.horizontalHeader().resizeSection(0, em * 5) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | self.requestsList.horizontalHeader().resizeSection(1, em * 20) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
114 | self.requestsList.horizontalHeader().resizeSection(3, em * 5) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.requestsList.horizontalHeader().resizeSection(4, em * 15) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | self.__headersDlg = None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | def closeEvent(self, evt): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | Protected method called upon closing the dialog. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | @param evt reference to the close event object (QCloseEvent) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.__class__._monitor = None |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
126 | super().closeEvent(evt) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | def reject(self): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | Public slot to close the dialog with a Reject status. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | self.__class__._monitor = None |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
133 | super().reject() |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | def __currentChanged(self, current, previous): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | Private slot to handle a change of the current index. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | @param current new current index (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | @param previous old current index (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | self.__requestHeaders.setRowCount(0) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | self.__replyHeaders.setRowCount(0) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | if not current.isValid(): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | return |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | row = self.__proxyModel.mapToSource(current).row() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | req = self.__model.requests[row].request |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | for header in req.rawHeaderList(): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | self.__requestHeaders.insertRows(0, 1, QModelIndex()) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.__requestHeaders.setData( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
155 | self.__requestHeaders.index(0, 0), |
556
05b73ee2ae42
Fixed a few issues in E5NetworkMonitor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
156 | str(header, "utf-8")) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.__requestHeaders.setData( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
158 | self.__requestHeaders.index(0, 1), |
556
05b73ee2ae42
Fixed a few issues in E5NetworkMonitor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
159 | str(req.rawHeader(header), "utf-8")) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | self.__requestHeaders.item(0, 0).setFlags( |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | self.__requestHeaders.item(0, 1).setFlags( |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | for header in self.__model.requests[row].replyHeaders: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | self.__replyHeaders.insertRows(0, 1, QModelIndex()) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | self.__replyHeaders.setData( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
168 | self.__replyHeaders.index(0, 0), |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | header[0]) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | self.__replyHeaders.setData( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
171 | self.__replyHeaders.index(0, 1), |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | header[1]) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | self.__replyHeaders.item(0, 0).setFlags( |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | self.__replyHeaders.item(0, 1).setFlags( |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | Qt.ItemIsSelectable | Qt.ItemIsEnabled) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | def __showHeaderDetails(self, index): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | Private slot to show a dialog with the header details. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | @param index index of the entry to show (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | if not index.isValid(): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | return |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | headerList = self.sender() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | if headerList is None: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | return |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | row = index.row() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | name = headerList.model().data(headerList.model().index(row, 0)) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | value = headerList.model().data(headerList.model().index(row, 1)) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | if self.__headersDlg is None: |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
195 | from .E5NetworkHeaderDetailsDialog import \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
196 | E5NetworkHeaderDetailsDialog |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | self.__headersDlg = E5NetworkHeaderDetailsDialog(self) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | self.__headersDlg.setData(name, value) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | self.__headersDlg.show() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
201 | |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | class E5RequestModel(QAbstractTableModel): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | Class implementing a model storing request objects. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
206 | def __init__(self, networkAccessManager, parent=None): |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | Constructor |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | @param networkAccessManager reference to the network access manager |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | (QNetworkAccessManager) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | @param parent reference to the parent object (QObject) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
214 | super().__init__(parent) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | self.__headerData = [ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
217 | self.tr("Method"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
218 | self.tr("Address"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
219 | self.tr("Response"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
220 | self.tr("Length"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
221 | self.tr("Content Type"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
222 | self.tr("Info"), |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | ] |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | self.__operations = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
226 | QNetworkAccessManager.HeadOperation: "HEAD", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
227 | QNetworkAccessManager.GetOperation: "GET", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
228 | QNetworkAccessManager.PutOperation: "PUT", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
229 | QNetworkAccessManager.PostOperation: "POST", |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | } |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | self.requests = [] |
974
124032ef6b6d
Fixed a bug in E5NetworkMonitor connecting a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
233 | networkAccessManager.requestCreated.connect(self.__requestCreated) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | def __requestCreated(self, operation, request, reply): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | Private slot handling the creation of a network request. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | @param operation network operation (QNetworkAccessManager.Operation) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | @param request reference to the request object (QNetworkRequest) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | @param reply reference to the reply object(QNetworkReply) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | req = E5NetworkRequest() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | req.op = operation |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | req.request = QNetworkRequest(request) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | req.reply = reply |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | self.__addRequest(req) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | def __addRequest(self, req): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | Private method to add a request object to the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | @param req reference to the request object (E5NetworkRequest) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | """ |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
255 | self.beginInsertRows( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
256 | QModelIndex(), len(self.requests), len(self.requests)) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | self.requests.append(req) |
464
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
463
diff
changeset
|
258 | req.reply.finished[()].connect(self.__addReply) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | self.endInsertRows() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | def __addReply(self): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | Private slot to add the reply data to the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | reply = self.sender() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | if reply is None: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | return |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | offset = len(self.requests) - 1 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | while offset >= 0: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | if self.requests[offset].reply is reply: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | break |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | offset -= 1 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | if offset < 0: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | return |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | # save the reply header data |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | for header in reply.rawHeaderList(): |
556
05b73ee2ae42
Fixed a few issues in E5NetworkMonitor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
279 | self.requests[offset].replyHeaders.append(( |
05b73ee2ae42
Fixed a few issues in E5NetworkMonitor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
280 | str(header, "utf-8"), str(reply.rawHeader(header), "utf-8"))) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | # save reply info to be displayed |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | status = reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) or 0 |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
284 | reason = \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
285 | reply.attribute(QNetworkRequest.HttpReasonPhraseAttribute) or "" |
410
e5d1addeb90c
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
365
diff
changeset
|
286 | self.requests[offset].response = "{0:d} {1}".format(status, reason) |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
287 | self.requests[offset].length = \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
288 | reply.header(QNetworkRequest.ContentLengthHeader) |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
289 | self.requests[offset].contentType = \ |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
290 | reply.header(QNetworkRequest.ContentTypeHeader) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | if status == 302: |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
293 | target = reply.attribute( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2953
diff
changeset
|
294 | QNetworkRequest.RedirectionTargetAttribute) or QUrl() |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.requests[offset].info = \ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
296 | self.tr("Redirect: {0}").format(target.toString()) |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
298 | def headerData(self, section, orientation, role=Qt.DisplayRole): |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | Public method to get header data from the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | @param section section number (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | @param orientation orientation (Qt.Orientation) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | @param role role of the data to retrieve (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | @return requested data |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | if orientation == Qt.Horizontal and role == Qt.DisplayRole: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | return self.__headerData[section] |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | return QAbstractTableModel.headerData(self, section, orientation, role) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
312 | def data(self, index, role=Qt.DisplayRole): |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | Public method to get data from the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | @param index index to get data for (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | @param role role of the data to retrieve (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | @return requested data |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | if index.row() < 0 or index.row() >= len(self.requests): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | return None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | if role == Qt.DisplayRole or role == Qt.EditRole: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | col = index.column() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | if col == 0: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | try: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | return self.__operations[self.requests[index.row()].op] |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | except KeyError: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
329 | return self.tr("Unknown") |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | elif col == 1: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | return self.requests[index.row()].request.url().toEncoded() |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | elif col == 2: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | return self.requests[index.row()].response |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | elif col == 3: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | return self.requests[index.row()].length |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | elif col == 4: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | return self.requests[index.row()].contentType |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | elif col == 5: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | return self.requests[index.row()].info |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | return None |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | def columnCount(self, parent): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | Public method to get the number of columns of the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | @param parent parent index (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | @return number of columns (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | if parent.column() > 0: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | return 0 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | else: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | return len(self.__headerData) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | def rowCount(self, parent): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | Public method to get the number of rows of the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | @param parent parent index (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | @return number of columns (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | if parent.isValid(): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | return 0 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | else: |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | return len(self.requests) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | def removeRows(self, row, count, parent): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | Public method to remove entries from the model. |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | @param row start row (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | @param count number of rows to remove (integer) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | @param parent parent index (QModelIndex) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | @return flag indicating success (boolean) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | """ |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | if parent.isValid(): |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | return False |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | lastRow = row + count - 1 |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | self.beginRemoveRows(parent, row, lastRow) |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | del self.requests[row:lastRow + 1] |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | self.endRemoveRows() |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
383 | return True |