Skip to content
Snippets Groups Projects
Commit d54c4fc1 authored by jonymt's avatar jonymt
Browse files

[*] changed regexp for wallet info

[*] changed regexp for wallet info
parent 4a391374
No related branches found
No related tags found
1 merge request!12Bugs 2496
Pipeline #705 canceled with stage
...@@ -48,7 +48,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& ...@@ -48,7 +48,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>&
while ((pos = rx.indexIn(result, pos)) != -1) while ((pos = rx.indexIn(result, pos)) != -1)
{ {
QStringList dataItem = QStringList() << rx.cap(1) << QString::number(DapTransactionStatusConvertor::getStatusByShort(rx.cap(2))) << rx.cap(3) << rx.cap(4) << rx.cap(5) << wallets.at(i).toString(); QStringList dataItem = QStringList() << rx.cap(1) << QString::number(DapTransactionStatusConvertor::getStatusByShort(rx.cap(2))) << rx.cap(3) << rx.cap(4) << rx.cap(5) << wallets.at(i).toString();
qDebug() << "NEW MATCH" << pos << dataItem; // qDebug() << "NEW MATCH" << pos << dataItem;
data << dataItem; data << dataItem;
pos += rx.matchedLength(); pos += rx.matchedLength();
} }
......
...@@ -43,7 +43,7 @@ QMap<QString, QVariant> DapChainWalletHandler::getWallets() ...@@ -43,7 +43,7 @@ QMap<QString, QVariant> DapChainWalletHandler::getWallets()
process.start(QString("%1 wallet list").arg(CLI_PATH)); process.start(QString("%1 wallet list").arg(CLI_PATH));
process.waitForFinished(-1); process.waitForFinished(-1);
QString str = QString::fromLatin1(process.readAll()); QString str = QString::fromLatin1(process.readAll());
qDebug() << "ZDES`" << str; // qDebug() << "ZDES`" << str;
QRegExp rx(":{1,1}([\\s\\w\\W]+)(\\n|\\r){1,1}" ); QRegExp rx(":{1,1}([\\s\\w\\W]+)(\\n|\\r){1,1}" );
rx.setMinimal(true); rx.setMinimal(true);
int pos = 0; int pos = 0;
...@@ -72,51 +72,63 @@ QStringList DapChainWalletHandler::getWalletInfo(const QString &asNameWallet) ...@@ -72,51 +72,63 @@ QStringList DapChainWalletHandler::getWalletInfo(const QString &asNameWallet)
QProcess process; QProcess process;
process.start(QString("%1 wallet info -w %2 -net private").arg(CLI_PATH).arg(asNameWallet)); process.start(QString("%1 wallet info -w %2 -net private").arg(CLI_PATH).arg(asNameWallet));
process.waitForFinished(-1); process.waitForFinished(-1);
char* response = process.readAll().data(); QByteArray result = process.readAll();
//qDebug() << response; QRegExp rx("wallet: (\\w+)\\s+addr:\\s+(\\w+)\\s+(balance)|(\\d+.\\d+)\\s(\\(\\d+\\))\\s(\\w+)");
QStringList list; QStringList list;
#ifdef Q_OS_WIN32
char *context = nullptr;
char *data = nullptr;
data = strtok_r(response, ":", &context);
if (strcmp(data, "wallet") != 0) {
data = strtok_r(response, ":", &context);
}
data = strtok_r(context+1, "\r", &context);
list.append(QString(data));
data = strtok_r(context+1, ":", &context);
data = strtok_r(context+1, "\r", &context);
list.append(QString(data));
data = strtok_r(context+1, ":", &context);
list.append(QString(data));
data = strtok_r(context+4, "\r", &context);
char *subctx;
char *subdata;
if (strlen(data) > 2) {
subdata = strtok_r(data+1, " ", &subctx);
} else {
subdata = strtok_r(data, " ", &subctx);
}
list.append(QString(subdata));
subdata = strtok_r(subctx, " ", &subctx);
list.append(QString(subdata));
subdata = strtok_r(subctx, "\r", &subctx);
list.append(QString(subdata));
#else
QString str = QString::fromLatin1(process.readAll()).replace("\\", "\\\\");
QRegExp rx("[(:\\)\\t]{1,1}([^\\\\\\n\\t]+)[\\\\(|\\n|\\r]{1,1}");
rx.setMinimal(true);
int pos{0}; int pos = 0;
while((pos = rx.indexIn(str, pos)) != -1) while((pos = rx.indexIn(result, pos)) != -1)
{ {
list.append(rx.cap(1)); if(rx.cap(1).isEmpty()) list << rx.cap(4) << rx.cap(5) << rx.cap(6);
else list << rx.cap(1) << rx.cap(2) << rx.cap(3);
pos += rx.matchedLength(); pos += rx.matchedLength();
} }
#endif
qDebug() << list; // char* response = process.readAll().data();
// //qDebug() << response;
// QStringList list;
//#ifdef Q_OS_WIN32
// char *context = nullptr;
// char *data = nullptr;
// data = strtok_r(response, ":", &context);
// if (strcmp(data, "wallet") != 0) {
// data = strtok_r(response, ":", &context);
// }
// data = strtok_r(context+1, "\r", &context);
// list.append(QString(data));
// data = strtok_r(context+1, ":", &context);
// data = strtok_r(context+1, "\r", &context);
// list.append(QString(data));
// data = strtok_r(context+1, ":", &context);
// list.append(QString(data));
// data = strtok_r(context+4, "\r", &context);
// char *subctx;
// char *subdata;
// if (strlen(data) > 2) {
// subdata = strtok_r(data+1, " ", &subctx);
// } else {
// subdata = strtok_r(data, " ", &subctx);
// }
// list.append(QString(subdata));
// subdata = strtok_r(subctx, " ", &subctx);
// list.append(QString(subdata));
// subdata = strtok_r(subctx, "\r", &subctx);
// list.append(QString(subdata));
//#else
// QString str = QString::fromLatin1(process.readAll()).replace("\\", "\\\\");
// QRegExp rx("[(:\\)\\t]{1,1}([^\\\\\\n\\t]+)[\\\\(|\\n|\\r]{1,1}");
// rx.setMinimal(true);
// int pos{0};
// while((pos = rx.indexIn(str, pos)) != -1)
// {
// list.append(rx.cap(1));
// pos += rx.matchedLength();
// }
//#endif
// qDebug() << list;
return list; return list;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment