History

Update script loaders to use ResourceRequest

Ryan Huffman committed 11 years ago

Commit acff31e1 parent 6b839482 files · +65 −59Browse files

Showing the changes to libraries/script-engine/src/BatchLoader.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/BatchLoader.cpp+55−38
@@ -17,9 +17,7 @@ · 16 unmodified lines
17#include "BatchLoader.h"17#include "BatchLoader.h"
18#include <NetworkAccessManager.h>18#include <NetworkAccessManager.h>
19#include <SharedUtil.h>19#include <SharedUtil.h>
20 20#include "ResourceManager.h"
21
22
23 21
24BatchLoader::BatchLoader(const QList<QUrl>& urls) 22BatchLoader::BatchLoader(const QList<QUrl>& urls)
25 : QObject(),23 : QObject(),
@@ -27,6 +25,7 @@ BatchLoader::BatchLoader(const QList<QUrl>& urls) · 1 unmodified line
27 _finished(false),25 _finished(false),
28 _urls(urls.toSet()),26 _urls(urls.toSet()),
29 _data() {27 _data() {
28 qRegisterMetaType<QMap<QUrl, QString>>("QMap<QUrl, QString>");
30}29}
31 30
32void BatchLoader::start() {31void BatchLoader::start() {
@@ -35,45 +34,63 @@ void BatchLoader::start() { · 2 unmodified lines
35 }34 }
36 35
37 _started = true;36 _started = true;
38 QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();37 // QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
39 for (QUrl url : _urls) {38 for (QUrl url : _urls) {
40 if (url.scheme() == "http" || url.scheme() == "https" || url.scheme() == "ftp") {39 auto request = ResourceManager::createResourceRequest(this, url);
41 QNetworkRequest request = QNetworkRequest(url);40 if (!request) {
42 request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);41 continue;
43 QNetworkReply* reply = networkAccessManager.get(request);42 }
44 43 connect(request, &ResourceRequest::finished, [=]() {
45 qCDebug(scriptengine) << "Downloading file at" << url;44 if (request->getResult() == ResourceRequest::SUCCESS) {
46 45 _data.insert(url, request->moveData());
47 connect(reply, &QNetworkReply::finished, [=]() {
48 if (reply->error()) {
49 _data.insert(url, QString());
50 } else {
51 _data.insert(url, reply->readAll());
52 }
53 reply->deleteLater();
54 checkFinished();
55 });
56
57 // If we end up being destroyed before the reply finishes, clean it up
58 connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
59
60 } else {
61#ifdef _WIN32
62 QString fileName = url.toString();
63#else
64 QString fileName = url.toLocalFile();
65#endif
66
67 qCDebug(scriptengine) << "Reading file at " << fileName;
68
69 QFile scriptFile(fileName);
70 if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
71 QTextStream in(&scriptFile);
72 _data.insert(url, in.readAll());
73 } else {46 } else {
74 _data.insert(url, QString());47 _data.insert(url, QString());
75 }48 }
76 }49 request->deleteLater();
50 checkFinished();
51 });
52
53 qCDebug(scriptengine) << "Loading script at " << url;
54
55 request->send();
56
57// if (url.scheme() == "http" || url.scheme() == "https" || url.scheme() == "ftp") {
58// QNetworkRequest request = QNetworkRequest(url);
59// request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
60// QNetworkReply* reply = networkAccessManager.get(request);
61//
62// qCDebug(scriptengine) << "Downloading file at" << url;
63//
64// connect(reply, &QNetworkReply::finished, [=]() {
65// if (reply->error()) {
66// _data.insert(url, QString());
67// } else {
68// _data.insert(url, reply->readAll());
69// }
70// reply->deleteLater();
71// checkFinished();
72// });
73//
74// // If we end up being destroyed before the reply finishes, clean it up
75// connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
76//
77// } else {
78// #ifdef _WIN32
79// QString fileName = url.toString();
80// #else
81// QString fileName = url.toLocalFile();
82// #endif
83//
84// qCDebug(scriptengine) << "Reading file at " << fileName;
85//
86// QFile scriptFile(fileName);
87// if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
88// QTextStream in(&scriptFile);
89// _data.insert(url, in.readAll());
90// } else {
91// _data.insert(url, QString());
92// }
93// }
77 }94 }
78 checkFinished();95 checkFinished();
79}96}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t