updatenews error bugfix

This commit is contained in:
LubuWest 2023-05-31 20:47:17 +02:00
commit 59fe1ea0df
16 changed files with 117 additions and 105 deletions

View file

@ -1,6 +1,6 @@
// This file is part of Friendiqa
// https://github.com/lubuwest/Friendiqa
// Copyright (C) 2020 Marco R. <thomasschmidt45@gmx.net>
// Copyright (C) 2023 Marco R. <thomasschmidt45@gmx.net>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by

View file

@ -161,6 +161,7 @@ void UPDATENEWS::login()
QJsonObject currentAccount =acc[usernameindex].toObject();
xhr.setAccount(currentAccount.toVariantMap());
username = currentAccount["username"].toString();
m_url=currentAccount["server"].toString();
}
}
@ -206,7 +207,7 @@ void UPDATENEWS::timeline()
{
m_api="/api/statuses/friends_timeline";
xhr.clearParams();
//xhr.setUrl(m_url);
xhr.setUrl(m_url);
xhr.setApi(m_api);
QSqlQuery query("SELECT status_id FROM news WHERE messagetype=0 AND username='"+ username +"' ORDER BY status_id DESC LIMIT 1",m_db);
if (query.isActive() && query.isSelect()){
@ -226,6 +227,7 @@ void UPDATENEWS::replies()
{
m_api="/api/statuses/replies";
xhr.clearParams();
xhr.setUrl(m_url);
xhr.setApi(m_api);
QSqlQuery query("SELECT status_id FROM news WHERE messagetype=3 AND username='"+ username +"' ORDER BY status_id DESC LIMIT 1",m_db);
if (query.isActive() && query.isSelect()){
@ -245,6 +247,7 @@ void UPDATENEWS::directmessages()
{
m_api="/api/direct_messages/all";
xhr.clearParams();
xhr.setUrl(m_url);
xhr.setApi(m_api);
QSqlQuery query("SELECT status_id FROM news WHERE messagetype=1 AND username='"+ username +"' ORDER BY status_id DESC LIMIT 1",m_db);
if (query.isActive() && query.isSelect()){
@ -263,6 +266,7 @@ void UPDATENEWS::notifications()
{
m_api="/api/friendica/notification";
xhr.clearParams();
xhr.setUrl(m_url);
xhr.setApi(m_api);
xhr.get();
QObject::connect(&xhr,SIGNAL(success(QByteArray,QString)),this,SLOT(store(QByteArray,QString)));
@ -273,6 +277,7 @@ void UPDATENEWS::notifications()
void UPDATENEWS::events()
{ m_api="/api/friendica/events";
xhr.clearParams();
xhr.setUrl(m_url);
xhr.setApi(m_api);
QSqlQuery query("SELECT id FROM events WHERE username='"+ username +"' ORDER BY id DESC LIMIT 1",m_db);
if (query.isActive() && query.isSelect()){
@ -291,6 +296,7 @@ void UPDATENEWS::events()
void UPDATENEWS::friendrequests()
{ m_api="/api/v1/follow_requests";
xhr.clearParams();
xhr.setUrl(m_url);
xhr.setApi(m_api);
xhr.get();
QObject::disconnect(&xhr,SIGNAL(success(QByteArray,QString)),this,SLOT(store(QByteArray,QString)));
@ -300,7 +306,6 @@ void UPDATENEWS::friendrequests()
}
void UPDATENEWS::store(QByteArray serverreply,QString apiname)
{ if (apiname!=m_api || xhr.downloadtype()!=""){} else {
QJsonDocument news;
@ -430,6 +435,7 @@ void UPDATENEWS::store(QByteArray serverreply,QString apiname)
}
}
QList<QJsonValue> newcontacts=findNewContacts(news);
emit this->success(m_api);
if (newcontacts.size()>0){
updateContacts(newcontacts);
startImagedownload("contactlist");
@ -442,7 +448,7 @@ void UPDATENEWS::store(QByteArray serverreply,QString apiname)
}
}
else {
qDebug()<< m_api << "Friendiqa updatenews error " << serverreply <<username ;
qDebug()<< m_api <<username << "Friendiqa updatenews error " << serverreply ;
//emit this->error(m_api,QTextCodec::codecForName("utf-8")->toUnicode(serverreply));
emit this->error(m_api,QString(serverreply));
if(m_syncAll){
@ -454,8 +460,6 @@ void UPDATENEWS::store(QByteArray serverreply,QString apiname)
}
void UPDATENEWS::updateImageLocation(QString downloadtype,QString imageurl, QString filename, int index){
if (downloadtype=="contactlist"){
QSqlQuery testquery("SELECT profile_image FROM contacts WHERE profile_image_url ='"+imageurl+ "' AND username = '" +username+"'",m_db);
@ -812,7 +816,7 @@ void UPDATENEWS::storeEvents(QByteArray serverreply,QString apiname)
}
}
if(notifylist.contains("notify_Events")){
QSqlQuery eventnotifyquery("SELECT start,title FROM events WHERE (start BETWEEN " + QString::number(QDateTime::currentDateTime().toMSecsSinceEpoch()) + " AND "+QString::number(QDateTime::currentDateTime().toMSecsSinceEpoch()+(m_updateInterval*60*1000))+") AND username='"+ username +"'",m_db);
QSqlQuery eventnotifyquery("SELECT start,title FROM events WHERE (start BETWEEN " + QString::number(QDateTime::currentDateTime().toMSecsSinceEpoch()) + " AND "+QString::number(QDateTime::currentDateTime().toMSecsSinceEpoch()+(m_updateInterval*119*1000))+") AND username='"+ username +"'",m_db);
while (eventnotifyquery.next()) {
alarm.notify("Event: "+ QDateTime::fromMSecsSinceEpoch(eventnotifyquery.value(0).toLongLong()).toString("dd.MM.yyyy hh:mm"),eventnotifyquery.value(1).toString(),1);
}

View file

@ -75,6 +75,7 @@ public slots:
private:
QString m_api;
QString m_url;
QString username;
bool m_syncAll;
int syncindex;

View file

@ -363,7 +363,10 @@ void XHR::onRequestFinished()
{
// Save the file here
//qDebug() << "buffer " << buffer;
if (buffer.isNull()){qDebug() << "File empty"<<m_url; buffer.clear(); emit this->error(m_downloadtype,m_url,m_api,1);}
if (buffer.isNull()){qDebug() << "File empty"<<m_url;
buffer.clear();
emit this->error(m_downloadtype,m_url,m_api,1);
}
else if (m_downloadtype=="picturelist") {
QJsonDocument jsonResponse = QJsonDocument::fromJson(buffer);
QJsonObject jsonObject = jsonResponse.object();
@ -391,7 +394,6 @@ void XHR::onRequestFinished()
jsonObject["data"]="";
jsonObject["filename"]=helpfile+filesuffix;
emit this->downloadedjson(m_downloadtype,m_url,m_filename,dlindex,jsonObject);
if(downloadtype()=="picturelist"){dlindex=dlindex+1;XHR::getlist();}
}
else {
QFile file(m_filename);
@ -400,10 +402,11 @@ void XHR::onRequestFinished()
buffer.clear();
file.close();
emit this->downloaded(m_downloadtype,m_url,m_filename,dlindex);
if(downloadtype()=="contactlist" || downloadtype()=="friendrequests"){dlindex=dlindex+1;XHR::getlist();}
//reply->deleteLater();
}
if(downloadtype()=="contactlist" || downloadtype()=="friendrequests" || downloadtype()=="picturelist"){
dlindex=dlindex+1;XHR::getlist();
}
}
void XHR::onReadyRead()