forked from ondra/colnod-connector
app runs
This commit is contained in:
parent
900fda34e9
commit
9d398777db
@ -25,31 +25,15 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
SyncManager api;
|
SyncManager api;
|
||||||
api.init();
|
|
||||||
|
// TODO: handle error in init
|
||||||
|
if (api.init()) {
|
||||||
api.run();
|
api.run();
|
||||||
|
} else {
|
||||||
|
//error
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// QObject::connect(&api, &SyncManager::error, &app, [](){
|
|
||||||
// qDebug() << "error";
|
|
||||||
// QCoreApplication::exit(1);
|
|
||||||
// }, Qt::QueuedConnection);
|
|
||||||
// if (parser.isSet(dropTablesOption)){
|
|
||||||
// api.dropTables();
|
|
||||||
// return 0;
|
|
||||||
// }
|
|
||||||
// if (parser.isSet(createTablesOption)){
|
|
||||||
// api.createTables();
|
|
||||||
// return 0;
|
|
||||||
// }
|
|
||||||
// api.loadDataFromDB();
|
|
||||||
// api.loadDataFromColnod();
|
|
||||||
// QObject::connect(&api, &SyncManager::dataDownloaded, [&](){
|
|
||||||
// QObject::connect(&api, &SyncManager::syncFinished, [](){
|
|
||||||
// qDebug() << "Quit";
|
|
||||||
// QCoreApplication::exit();
|
|
||||||
// });
|
|
||||||
// api.syncDataFromColnodToDB();
|
|
||||||
// api.syncDataFromDBToColnod();
|
|
||||||
// });
|
|
||||||
return QCoreApplication::exec();
|
return QCoreApplication::exec();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,6 +36,7 @@ void ColnodAPI::downloadData()
|
|||||||
|
|
||||||
void ColnodAPI::processData(std::shared_ptr<Data> data)
|
void ColnodAPI::processData(std::shared_ptr<Data> data)
|
||||||
{
|
{
|
||||||
|
connect(this, &ColnodAPI::partOfDataProcessFinished, this, &ColnodAPI::isDataProcessFinished);
|
||||||
if ( !data->updatedTokens.isEmpty()) {
|
if ( !data->updatedTokens.isEmpty()) {
|
||||||
setTokens(data->updatedTokens);
|
setTokens(data->updatedTokens);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ public:
|
|||||||
|
|
||||||
void loadTokensFromJson(const QByteArray &data);
|
void loadTokensFromJson(const QByteArray &data);
|
||||||
void loadSubjectsFormJson(const QByteArray &data);
|
void loadSubjectsFormJson(const QByteArray &data);
|
||||||
|
|
||||||
QHash<QString, std::shared_ptr<Token>> updatedTokens;
|
QHash<QString, std::shared_ptr<Token>> updatedTokens;
|
||||||
QList<QString> deletedTokens;
|
QList<QString> deletedTokens;
|
||||||
QHash<QString, std::shared_ptr<Subject>> updatedSubjects;
|
QHash<QString, std::shared_ptr<Subject>> updatedSubjects;
|
||||||
|
|||||||
@ -148,6 +148,7 @@ void DatabaseAPI::deleteItems(QList<QString> ids, const QString &tableName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: return whole token
|
||||||
QDateTime DatabaseAPI::getLastUpdate(const QString &id)
|
QDateTime DatabaseAPI::getLastUpdate(const QString &id)
|
||||||
{
|
{
|
||||||
auto query = mDbMan->createQuery();
|
auto query = mDbMan->createQuery();
|
||||||
|
|||||||
@ -24,7 +24,7 @@ void SyncManager::run()
|
|||||||
downloadData();
|
downloadData();
|
||||||
connect(this, &SyncManager::dataReady, [=](){
|
connect(this, &SyncManager::dataReady, [=](){
|
||||||
prepareData();
|
prepareData();
|
||||||
processData();
|
|
||||||
connect(this, &SyncManager::dataProcessFinished, [=](){
|
connect(this, &SyncManager::dataProcessFinished, [=](){
|
||||||
updateLastUpdate(syncBegin);
|
updateLastUpdate(syncBegin);
|
||||||
connect(this, &SyncManager::syncFinished, [=](){
|
connect(this, &SyncManager::syncFinished, [=](){
|
||||||
@ -32,6 +32,8 @@ void SyncManager::run()
|
|||||||
QCoreApplication::exit();
|
QCoreApplication::exit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
processData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,6 +64,7 @@ void SyncManager::prepareData()
|
|||||||
}
|
}
|
||||||
auto dbLastUpdate = database->getLastUpdate(colnodToken->id());
|
auto dbLastUpdate = database->getLastUpdate(colnodToken->id());
|
||||||
if ( !dbLastUpdate.isNull() )
|
if ( !dbLastUpdate.isNull() )
|
||||||
|
// TODO: compare whole structure of token
|
||||||
if (dbLastUpdate == colnodToken->lastUpdate())
|
if (dbLastUpdate == colnodToken->lastUpdate())
|
||||||
idsToDelete.append(colnodToken->id());
|
idsToDelete.append(colnodToken->id());
|
||||||
}
|
}
|
||||||
@ -82,9 +85,9 @@ void SyncManager::prepareData()
|
|||||||
|
|
||||||
void SyncManager::processData()
|
void SyncManager::processData()
|
||||||
{
|
{
|
||||||
colnod->processData(databaseDataToProcess);
|
|
||||||
database->processData(colnodDataToProcess);
|
database->processData(colnodDataToProcess);
|
||||||
connect(colnod.get(), &ColnodAPI::dataProcessFinished, this, &SyncManager::dataProcessFinished);
|
connect(colnod.get(), &ColnodAPI::dataProcessFinished, this, &SyncManager::dataProcessFinished);
|
||||||
|
colnod->processData(databaseDataToProcess);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SyncManager::updateLastUpdate(qint64 syncBegin)
|
void SyncManager::updateLastUpdate(qint64 syncBegin)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user