8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import * |
10 from PyQt4.QtCore import * |
11 from PyQt4.QtNetwork import QNetworkReply, QNetworkRequest |
11 from PyQt4.QtNetwork import QNetworkReply, QNetworkRequest |
12 |
12 |
|
13 |
13 class NetworkReply(QNetworkReply): |
14 class NetworkReply(QNetworkReply): |
14 """ |
15 """ |
15 Class implementing a QNetworkReply subclass for special data. |
16 Class implementing a QNetworkReply subclass for special data. |
16 """ |
17 """ |
17 def __init__(self, request, fileData, mimeType, parent = None): |
18 def __init__(self, request, fileData, mimeType, parent=None): |
18 """ |
19 """ |
19 Constructor |
20 Constructor |
20 |
21 |
21 @param request reference to the request object (QNetworkRequest) |
22 @param request reference to the request object (QNetworkRequest) |
22 @param fileData reference to the data buffer (QByteArray) |
23 @param fileData reference to the data buffer (QByteArray) |
29 |
30 |
30 self.setRequest(request) |
31 self.setRequest(request) |
31 self.setOpenMode(QIODevice.ReadOnly) |
32 self.setOpenMode(QIODevice.ReadOnly) |
32 |
33 |
33 self.setHeader(QNetworkRequest.ContentTypeHeader, mimeType) |
34 self.setHeader(QNetworkRequest.ContentTypeHeader, mimeType) |
34 self.setHeader(QNetworkRequest.ContentLengthHeader, |
35 self.setHeader(QNetworkRequest.ContentLengthHeader, |
35 QByteArray.number(fileData.length())) |
36 QByteArray.number(fileData.length())) |
36 self.setAttribute(QNetworkRequest.HttpStatusCodeAttribute, 200) |
37 self.setAttribute(QNetworkRequest.HttpStatusCodeAttribute, 200) |
37 self.setAttribute(QNetworkRequest.HttpReasonPhraseAttribute, "OK") |
38 self.setAttribute(QNetworkRequest.HttpReasonPhraseAttribute, "OK") |
38 QTimer.singleShot(0, lambda: self.metaDataChanged.emit()) |
39 QTimer.singleShot(0, lambda: self.metaDataChanged.emit()) |
39 QTimer.singleShot(0, lambda: self.readyRead.emit()) |
40 QTimer.singleShot(0, lambda: self.readyRead.emit()) |