This commit is contained in:
2017-10-30 21:44:30 +01:00
parent 2980eb488f
commit aa1a61f226
5 changed files with 51 additions and 15 deletions
+7 -3
View File
@@ -192,6 +192,7 @@ void cMainWindow::initDB()
" createdBy STRING,"
" homepage STRING,"
" lastAired DATE,"
" languages STRING,"
" networks STRING,"
" nrEpisodes INTEGER,"
" nrSeasons INTEGER,"
@@ -341,7 +342,7 @@ void cMainWindow::loadSeriesDB()
cSeason* lpSeason;
cEpisode* lpEpisode;
if(query.exec("SELECT serie.seriesID,serie.seriesName,serie.originalName,serie.backdropPath,serie.createdBy,serie.homepage,serie.lastAired,serie.networks,serie.nrEpisodes,serie.nrSeasons,serie.originCountries,serie.originalLanguage,serie.popularity,serie.posterPath,serie.productionCompanies,serie.type,serie.voteAverage,serie.voteCount,serie.overview,serie.firstAired,serie.cast,serie.crew,serie.genre,serie.status,serie.download,serie.cliffhanger,episode.id,episode.name,episode.episodeNumber,episode.airDate,episode.guestStars,episode.overview,episode.productioncode,episode.seasonNumber,episode.seasonID,episode.seriesID,episode.stillPath,episode.voteAverage,episode.voteCount,episode.crew,episode.state FROM serie LEFT JOIN episode ON serie.seriesID = episode.seriesID ORDER BY serie.seriesName, episode.seasonNumber, episode.episodeNumber;"))
if(query.exec("SELECT serie.seriesID,serie.seriesName,serie.originalName,serie.backdropPath,serie.createdBy,serie.homepage,serie.lastAired,serie.languages,serie.networks,serie.nrEpisodes,serie.nrSeasons,serie.originCountries,serie.originalLanguage,serie.popularity,serie.posterPath,serie.productionCompanies,serie.type,serie.voteAverage,serie.voteCount,serie.overview,serie.firstAired,serie.cast,serie.crew,serie.genre,serie.status,serie.download,serie.cliffhanger,episode.id,episode.name,episode.episodeNumber,episode.airDate,episode.guestStars,episode.overview,episode.productioncode,episode.seasonNumber,episode.seasonID,episode.seriesID,episode.stillPath,episode.voteAverage,episode.voteCount,episode.crew,episode.state FROM serie LEFT JOIN episode ON serie.seriesID = episode.seriesID ORDER BY serie.seriesName, serie.firstAired, episode.seasonNumber, episode.episodeNumber;"))
{
while(query.next())
{
@@ -351,7 +352,8 @@ void cMainWindow::loadSeriesDB()
if(iSeriesID != iOldSeriesID)
{
m_serieList.add(iSeriesID);
iOldSeriesID = iSeriesID;
iOldSeriesID = iSeriesID;
iOldSeasonNumber = -1;
}
cSerie* lpSerie = m_serieList.add(iSeriesID);
@@ -361,6 +363,7 @@ void cMainWindow::loadSeriesDB()
lpSerie->setCreatedBy(query.value("createdBy").toString());
lpSerie->setHomepage(query.value("homepage").toString());
lpSerie->setLastAired(query.value("lastAired").toString());
lpSerie->setLanguages(query.value("languages").toString());
lpSerie->setNetworks(query.value("networks").toString());
lpSerie->setEpisodes(query.value("nrEpisodes").toInt());
lpSerie->setSeasons(query.value("nrSeasons").toInt());
@@ -594,7 +597,8 @@ void cMainWindow::displaySeries()
lpItems.at(lpSeason->number()+3-iMin)->setToolTip(szTooltip);
}
if(lpSerie->status().compare("Ended", Qt::CaseInsensitive))
if(lpSerie->status().compare("Ended", Qt::CaseInsensitive) &&
lpSerie->status().compare("canceled", Qt::CaseInsensitive))
{
lpItems.at(0)->setFont(font);
lpItems.at(1)->setFont(font);
+25 -4
View File
@@ -3,8 +3,11 @@
#include <QStringList>
#include <QSqlQuery>
#include <QSqlError>
#include <QVariant>
#include <QDebug>
cSerie::cSerie() :
m_szSeriesName(""),
@@ -108,6 +111,21 @@ QDate cSerie::lastAired()
return(m_lastAired);
}
void cSerie::setLanguages(const QString& szLanguages)
{
m_szLanguages = szLanguages.split(",");
}
void cSerie::setLanguages(const QStringList& szLanguages)
{
m_szLanguages = szLanguages;
}
QStringList cSerie::languages()
{
return(m_szLanguages);
}
void cSerie::setNetworks(const QStringList& szNetworks)
{
m_szNetworks = cleanList(szNetworks);
@@ -278,7 +296,7 @@ QStringList cSerie::crew()
void cSerie::setGenre(const QString& szGenre)
{
m_szGenre = szGenre.split("|");
m_szGenre = szGenre.split(",");
m_szGenre.removeAll("");
}
@@ -411,8 +429,8 @@ bool cSerie::save(QSqlDatabase &db)
QSqlQuery querySerie;
QSqlQuery queryEpisode;
querySerie.prepare("INSERT INTO serie (seriesID,seriesName,originalName,backdropPath,createdBy,homepage,lastAired,networks,nrEpisodes,nrSeasons,originCountries,originalLanguage,popularity,posterPath,productionCompanies,type,voteAverage,voteCount,overview,firstAired,cast,crew,genre,status,download,cliffhanger)"
" VALUES (:seriesID,:seriesName,:originalName,:backdropPath,:createdBy,:homepage,:lastAired,:networks,:nrEpisodes,:nrSeasons,:originCountries,:originalLanguage,:popularity,:posterPath,:productionCompanies,:type,:voteAverage,:voteCount,:overview,:firstAired,:cast,:crew,:genre,:status,:download,:cliffhanger);");
querySerie.prepare("INSERT INTO serie (seriesID,seriesName,originalName,backdropPath,createdBy,homepage,lastAired,languages,networks,nrEpisodes,nrSeasons,originCountries,originalLanguage,popularity,posterPath,productionCompanies,type,voteAverage,voteCount,overview,firstAired,cast,crew,genre,status,download,cliffhanger)"
" VALUES (:seriesID,:seriesName,:originalName,:backdropPath,:createdBy,:homepage,:lastAired,:languages,:networks,:nrEpisodes,:nrSeasons,:originCountries,:originalLanguage,:popularity,:posterPath,:productionCompanies,:type,:voteAverage,:voteCount,:overview,:firstAired,:cast,:crew,:genre,:status,:download,:cliffhanger);");
queryEpisode.prepare("INSERT INTO episode (id,name,episodeNumber,airDate,guestStars,overview,productioncode,seasonNumber,seasonID,seriesID,stillPath,voteAverage,voteCount,crew,state)"
" VALUES (:id,:name,:episodeNumber,:airDate,:guestStars,:overview,:productioncode,:seasonNumber,:seasonID,:seriesID,:stillPath,:voteAverage,:voteCount,:crew,:state);");
@@ -429,6 +447,7 @@ bool cSerie::save(QSqlDatabase &db)
querySerie.bindValue(":createdBy", createdBy().join(","));
querySerie.bindValue(":homepage", homepage());
querySerie.bindValue(":lastAired", lastAired());
querySerie.bindValue(":languages", languages().join(","));
querySerie.bindValue(":networks", networks().join(","));
querySerie.bindValue(":nrEpisodes", episodes());
querySerie.bindValue(":nrSeasons", seasons());
@@ -484,6 +503,8 @@ bool cSerie::save(QSqlDatabase &db)
}
}
}
else
qDebug() << querySerie.lastError().text();
}
db.commit();
@@ -499,7 +520,7 @@ bool cSerie::del(QSqlDatabase& db)
query.bindValue(":seriesID", seriesID());
query.exec();
query.prepare("DELETE FROM serie WHERE id=:seriesID;");
query.prepare("DELETE FROM serie WHERE seriesID=:seriesID;");
query.bindValue(":seriesID", seriesID());
query.exec();
+5
View File
@@ -37,6 +37,10 @@ public:
void setLastAired(const QDate& lastAired);
QDate lastAired();
void setLanguages(const QString& szLanguages);
void setLanguages(const QStringList& szLanguages);
QStringList languages();
void setNetworks(const QStringList& szNetworks);
void setNetworks(const QString& szNetworks);
QStringList networks();
@@ -134,6 +138,7 @@ private:
QStringList m_szCreatedBy;
QString m_szHomepage;
QDate m_lastAired;
QStringList m_szLanguages;
QStringList m_szNetworks;
qint16 m_iEpisodes;
qint16 m_iSeasons;
+8 -3
View File
@@ -370,6 +370,11 @@ cSerie* cTheMovieDBV3::loadSerie(const qint32 &iID, const QString& szLanguage)
tmpList.clear();
lpSerie->setHomepage(jsonObj["homepage"].toString());
lpSerie->setLastAired(jsonObj["last_air_date"].toString());
tmpArray = jsonObj["languages"].toArray();
for(int x = 0;x < tmpArray.count();x++)
tmpList.append(tmpArray.at(x).toString());
lpSerie->setLanguages(tmpList);
tmpList.clear();
lpSerie->setSeriesName(jsonObj["name"].toString());
tmpArray = jsonObj["networks"].toArray();
for(int x = 0;x < tmpArray.count();x++)
@@ -379,8 +384,8 @@ cSerie* cTheMovieDBV3::loadSerie(const qint32 &iID, const QString& szLanguage)
lpSerie->setEpisodes(jsonObj["number_of_episodes"].toInt());
lpSerie->setSeasons(jsonObj["number_of_seasons"].toInt());
tmpArray = jsonObj["origin_country"].toArray();
for(int x = 0;x < tmpArray.count();x++) //!!!!!!!!!!
tmpList.append(tmpArray.at(x).toObject()["name"].toString());
for(int x = 0;x < tmpArray.count();x++)
tmpList.append(tmpArray.at(x).toString());
lpSerie->setOriginCountries(tmpList);
tmpList.clear();
lpSerie->setOriginalLanguage(jsonObj["original_language"].toString());
@@ -488,7 +493,7 @@ cSerie* cTheMovieDBV3::loadSerie(const qint32 &iID, const QString& szLanguage)
lpEpisode->setSeriesID(lpSerie->seriesID());
QJsonArray jsonArrayCrew = tmpObj["crew"].toArray();
QJsonArray jsonArrayGuestStars = tmpObj["guest_start"].toArray();
QJsonArray jsonArrayGuestStars = tmpObj["guest_stars"].toArray();
QStringList szCrew;
QStringList szGuestStars;
+6 -5
View File
@@ -2,6 +2,8 @@
#include "cseason.h"
#include "cepisode.h"
#include "cmessagedialog.h"
#include "cthemoviedbv3.h"
#include <QMessageBox>
#include <QDebug>
@@ -25,21 +27,21 @@ void cUpdateThread::run()
QTime timer;
timer.restart();
QString szFailed;
/*
for(int x = 0;x < m_serieList.count();x++)
{
cSerie* lpSerie = m_serieList.at(x);
if(lpSerie)
{
emit updateMessage(lpSerie->seriesName(), x);
cTheTVDBV2 tvDB;
cTheMovieDBV3 theMovieDB;
cSerie* lpSerieNew;
if(lpSerie->seriesID() != -1)
{
lpSerieNew = tvDB.load(lpSerie->id(), "de");
lpSerieNew = theMovieDB.loadSerie(lpSerie->seriesID(), "de");
if(!lpSerieNew)
lpSerieNew = tvDB.load(lpSerie->id(), "en");
lpSerieNew = theMovieDB.loadSerie(lpSerie->seriesID(), "en");
if(!lpSerieNew)
{
if(szFailed.length())
@@ -76,7 +78,6 @@ void cUpdateThread::run()
msgBox.setText(szFailed + QString(" has failed to update."));
msgBox.exec();
}
*/
}
void cUpdateThread::setData(cMessageDialog* lpMessageDialog, const cSerieList &serieList, const QSqlDatabase& db)