-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgroupsupdateworker.cpp
More file actions
63 lines (59 loc) · 2.55 KB
/
Copy pathgroupsupdateworker.cpp
File metadata and controls
63 lines (59 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "groupsupdateworker.h"
#include <QDebug>
void GroupsUpdateWorker::proceed()
{
QNetworkAccessManager *manager1 = new QNetworkAccessManager(this);
connect(manager1, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)), Qt::QueuedConnection);
manager1->get(QNetworkRequest(QUrl(QString("https://api.vk.com/method/wall.get?"
"owner_id=%1&"
//"extended=1&"
"count=100&"
"access_token=%2").arg(-m_pos.key().toInt()).arg(m_token))));
m_pos++;
if(m_pos == m_storage->end()){
emit finished();
return;
}
QNetworkAccessManager *manager2 = new QNetworkAccessManager(this);
connect(manager2, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)), Qt::QueuedConnection);
manager2->get(QNetworkRequest(QUrl(QString("https://api.vk.com/method/wall.get?"
"owner_id=%1&"
//"extended=1&"
"count=100&"
"access_token=%2").arg(-m_pos.key().toInt()).arg(m_token))));
m_pos++;
if(m_pos == m_storage->end()){
emit finished();
return;
}
QNetworkAccessManager *manager3 = new QNetworkAccessManager(this);
connect(manager3, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)), Qt::QueuedConnection);
manager3->get(QNetworkRequest(QUrl(QString("https://api.vk.com/method/wall.get?"
"owner_id=%1&"
//"extended=1&"
"count=100&"
"access_token=%2").arg(-m_pos.key().toInt()).arg(m_token))));
m_pos++;
if(m_pos == m_storage->end()){
emit finished();
return;
}
}
void GroupsUpdateWorker::replyFinished(QNetworkReply *reply)
{
using QtJson::JsonObject;
using QtJson::JsonArray;
bool ok;
JsonObject result = QtJson::parse(reply->readAll(), ok).toMap();
Q_ASSERT(ok != false);
JsonArray posts = result["response"].toList();
uint lastTimeStamp = 0;
if(posts.at(0).toInt() == 0){
return;
}
QString wid = QString::number(-posts.at(1).toMap()["from_id"].toInt());
(*m_storage)[wid].toMap()["posts"] = posts;
}