@@ -104,7 +104,7 @@ static const QString getOsString()
104
104
struct utsname uts;
105
105
if (uname (&uts) == 0 )
106
106
osString += QString (" %1 %2" ).arg (QLatin1String (uts.sysname ))
107
- .arg (QLatin1String (uts.release ));
107
+ .arg (QLatin1String (uts.release ));
108
108
else
109
109
osString += QLatin1String (" Unix (Unknown)" );
110
110
#else
@@ -122,11 +122,23 @@ DataFetcher::DataFetcher(int maxItems, QObject *parent)
122
122
123
123
void DataFetcher::fetch (QString urlString, QString username, QString password)
124
124
{
125
- QUrl url = QUrl::fromUserInput (urlString + " /api/xml?depth=2" );
126
- m_errorMessage = " fetching " + url.toString () + " \n " ;
125
+ QUrl url = QUrl::fromUserInput (urlString + " /api/xml?depth=2" );
127
126
url.setUserName (username);
128
127
url.setPassword (password);
128
+ fetch (url);
129
+ }
129
130
131
+ void DataFetcher::fetchQueue (QString urlString, QString username, QString password)
132
+ {
133
+ QUrl url = QUrl::fromUserInput (urlString + " /queue/api/xml" );
134
+ url.setUserName (username);
135
+ url.setPassword (password);
136
+ fetch (url);
137
+ }
138
+
139
+ void DataFetcher::fetch (QUrl &url)
140
+ {
141
+ m_errorMessage = " fetching " + url.toString () + " \n " ;
130
142
if (!url.isValid ()) {
131
143
emit finished (true , " invalid URL" );
132
144
return ;
@@ -151,54 +163,17 @@ void DataFetcher::fetch(QString urlString, QString username, QString password)
151
163
.arg (getOsString ()).arg (QLocale::system ().name ())
152
164
.arg (QSysInfo::WordSize).toLocal8Bit ());
153
165
request.setRawHeader (" Accept" , " text/xml,application/xml; charset=UTF-8" );
154
- if (username. length () > 0 )
155
- request.setRawHeader (" Authorization" , " Basic " + QByteArray (QString (" %1:%2" ).arg (username) .arg (password).toAscii ()).toBase64 ());
166
+ if (!url. userName (). isEmpty () )
167
+ request.setRawHeader (" Authorization" , " Basic " + QByteArray (QString (" %1:%2" ).arg (url. userName ()) .arg (url. password () ).toAscii ()).toBase64 ());
156
168
mNetworkAccess .proxyFactory ()->setUseSystemConfiguration (true );
157
169
mNetworkAccess .get ( request );
158
170
}
159
171
160
- void DataFetcher::fetchQueue (QString urlString, QString username, QString password)
161
- {
162
- QUrl url = QUrl::fromUserInput (urlString + " /queue/api/xml" );
163
- m_errorMessage = " fetching " + url.toString () + " \n " ;
164
- url.setUserName (username);
165
- url.setPassword (password);
166
-
167
- if (!url.isValid ()) {
168
- emit finished (true , " invalid URL" );
169
- return ;
170
- }
171
-
172
- if (url.scheme () == " file" ) {
173
- QString filename = url.toLocalFile ();
174
- QFile file (filename);
175
- if (file.open (QFile::ReadOnly)) {
176
- QXmlStreamReader xmlReader (file.readAll ());
177
- parseXml (xmlReader);
178
- } else {
179
- emit finished (true , " Unable to read the file: " + filename);
180
- }
181
- file.close ();
182
- return ;
183
- }
184
-
185
- QNetworkRequest request (url);
186
- request.setRawHeader (" User-Agent" , QString (" Qt-Creator/%1 (QHttp %2; %3; %4; %5 bit)" )
187
- .arg (Core::Constants::IDE_VERSION_LONG).arg (qVersion ())
188
- .arg (getOsString ()).arg (QLocale::system ().name ())
189
- .arg (QSysInfo::WordSize).toLocal8Bit ());
190
- request.setRawHeader (" Accept" , " text/xml,application/xml; charset=UTF-8" );
191
- if (username.length () > 0 )
192
- request.setRawHeader (" Authorization" , " Basic " + QByteArray (QString (" %1:%2" ).arg (username).arg (password).toAscii ()).toBase64 ());
193
- mNetworkAccess .proxyFactory ()->setUseSystemConfiguration (true );
194
- mNetworkAccess .get ( request );
195
- }
196
-
197
172
void DataFetcher::finished (QNetworkReply* repl)
198
173
{
199
174
bool error = repl->error () != QNetworkReply::NoError;
200
175
if (error) {
201
- m_errorMessage = " Error code (NOT HTTP-Code!) : " + QString::number (repl->error ()) + " / HTTP code " + repl->attribute (QNetworkRequest::HttpStatusCodeAttribute).toString () +" \n\t " + repl->errorString () +" \n " ;
176
+ m_errorMessage = " Error code (NOT HTTP-Code!) : " + QString::number (repl->error ()) + " / HTTP code " + repl->attribute (QNetworkRequest::HttpStatusCodeAttribute).toString () +" \n\t " + repl->errorString () +" \n " ;
202
177
}
203
178
else {
204
179
QXmlStreamReader xmlReader (repl->readAll ());
@@ -210,7 +185,7 @@ void DataFetcher::finished(QNetworkReply* repl)
210
185
211
186
bool endOfElement (QString elemName,QXmlStreamReader &xml)
212
187
{
213
- return (xml.isEndElement () && xml.name () == elemName);
188
+ return (xml.isEndElement () && xml.name () == elemName);
214
189
}
215
190
216
191
void readUntilEndOf (QString /* elem*/ , QXmlStreamReader &xml) {
@@ -223,12 +198,12 @@ void DataFetcher::parseXml(QXmlStreamReader &xml)
223
198
bool rootOK = false ;
224
199
while (!(xml.atEnd () || xml.error ())) {
225
200
if (xml.readNext () == QXmlStreamReader::StartElement) {
226
- if (xml.name () == " hudson" || xml.name () == " queue" )
201
+ if (xml.name () == " hudson" || xml.name () == " queue" )
227
202
rootOK = true ;
228
203
else if (rootOK && xml.name () == " job" )
229
204
parseJob (xml);
230
- else if (rootOK && xml.name () == " item" )
231
- parseItem (xml);
205
+ else if (rootOK && xml.name () == " item" )
206
+ parseItem (xml);
232
207
else
233
208
xml.skipCurrentElement ();
234
209
}
@@ -295,52 +270,52 @@ void DataFetcher::parseLastBuild(QXmlStreamReader &xml)
295
270
296
271
void DataFetcher::parseItem (QXmlStreamReader &xml)
297
272
{
298
- currentProject.clear ();
299
- while (!(xml.error () || xml.atEnd () || endOfElement (" item" ,xml)))
300
- {
301
- if (xml.readNextStartElement ())
302
- {
303
- if (xml.name () == " blocked" )
304
- currentItem.blocked = xml.readElementText () == " true" ? true : false ;
305
- else if (xml.name () == " buildable" )
306
- currentItem.buildable = xml.readElementText () == " true" ? true : false ;
307
- else if (xml.name () == " stuck" )
308
- currentItem.stuck = xml.readElementText () == " true" ? true : false ;
309
- else if (xml.name () == " why" )
310
- currentItem.why = xml.readElementText ();
311
- else if (xml.name () == " action" )
312
- parseItemAction (xml);
313
- else if (xml.name () == " task" )
314
- parseItemTask (xml);
315
- else
316
- xml.skipCurrentElement ();
317
- }
318
- }
319
- emit queueItemReady (currentItem);
273
+ currentProject.clear ();
274
+ while (!(xml.error () || xml.atEnd () || endOfElement (" item" ,xml)))
275
+ {
276
+ if (xml.readNextStartElement ())
277
+ {
278
+ if (xml.name () == " blocked" )
279
+ currentItem.blocked = xml.readElementText () == " true" ? true : false ;
280
+ else if (xml.name () == " buildable" )
281
+ currentItem.buildable = xml.readElementText () == " true" ? true : false ;
282
+ else if (xml.name () == " stuck" )
283
+ currentItem.stuck = xml.readElementText () == " true" ? true : false ;
284
+ else if (xml.name () == " why" )
285
+ currentItem.why = xml.readElementText ();
286
+ else if (xml.name () == " action" )
287
+ parseItemAction (xml);
288
+ else if (xml.name () == " task" )
289
+ parseItemTask (xml);
290
+ else
291
+ xml.skipCurrentElement ();
292
+ }
293
+ }
294
+ emit queueItemReady (currentItem);
320
295
}
321
296
void DataFetcher::parseItemAction (QXmlStreamReader &xml)
322
297
{
323
- while (!(xml.error () || xml.atEnd () || endOfElement (" action" ,xml)))
324
- {
325
- if (xml.readNextStartElement ()) {
326
- if (xml.name () == " cause" && xml.readNextStartElement ()) {
327
- if (xml.name () == " shortDescription" )
328
- currentItem.cause = xml.readElementText ();
329
- }
330
- }
331
- }
298
+ while (!(xml.error () || xml.atEnd () || endOfElement (" action" ,xml)))
299
+ {
300
+ if (xml.readNextStartElement ()) {
301
+ if (xml.name () == " cause" && xml.readNextStartElement ()) {
302
+ if (xml.name () == " shortDescription" )
303
+ currentItem.cause = xml.readElementText ();
304
+ }
305
+ }
306
+ }
332
307
}
333
308
void DataFetcher::parseItemTask (QXmlStreamReader &xml)
334
309
{
335
- while (!(xml.error () || xml.atEnd () || endOfElement (" task" ,xml)))
336
- {
337
- if (xml.readNextStartElement ()) {
338
- if (xml.name () == " name" ) {
339
- currentItem.task = xml.readElementText ();
340
- }
341
- if (xml.name () == " color" ) {
342
- currentItem.color = xml.readElementText ();
343
- }
344
- }
345
- }
310
+ while (!(xml.error () || xml.atEnd () || endOfElement (" task" ,xml)))
311
+ {
312
+ if (xml.readNextStartElement ()) {
313
+ if (xml.name () == " name" ) {
314
+ currentItem.task = xml.readElementText ();
315
+ }
316
+ if (xml.name () == " color" ) {
317
+ currentItem.color = xml.readElementText ();
318
+ }
319
+ }
320
+ }
346
321
}
0 commit comments