This commit is contained in:
2017-11-04 11:41:41 +01:00
parent b9116dc732
commit dbb113e0da
4 changed files with 111 additions and 16 deletions
+18 -12
View File
@@ -208,6 +208,11 @@ void cMainWindow::initDB()
" cast STRING,"
" crew STRING,"
" genre STRING,"
" imdbid STRING,"
" freebasemid STRING,"
" freebaseid STRING,"
" tvdbid INTEGER,"
" tvrageid INTEGER,"
" status STRING,"
" download STRING,"
" cliffhanger BOOL);");
@@ -341,15 +346,6 @@ void cMainWindow::convertSeries()
lpSerie = 0;
}
}
/*
qint16 _id();
QDate airDate();
QString name();
QString overview();
qint16 id();
QString posterPath();
qint16 seasonNumber();
*/
void cMainWindow::loadSeriesDB()
{
@@ -388,6 +384,11 @@ void cMainWindow::loadSeriesDB()
" serie.cast cast,"
" serie.crew crew,"
" serie.genre genre,"
" serie.imdbid imdbid,"
" serie.freebasemid freebasemid,"
" serie.freebaseid freebaseid,"
" serie.tvdbid tvdbid,"
" serie.tvrageid tvrageid,"
" serie.status status,"
" serie.download download,"
" serie.cliffhanger cliffhanger,"
@@ -460,6 +461,11 @@ void cMainWindow::loadSeriesDB()
lpSerie->setCast(query.value("cast").toString().split("|"));
lpSerie->setCrew(query.value("crew").toString().split("|"));
lpSerie->setGenre(query.value("genre").toString());
lpSerie->setIMDBID(query.value("imdbid").toString());
lpSerie->setFreebaseMID(query.value("freebasemid").toString());
lpSerie->setFreebaseID(query.value("freebaseid").toString());
lpSerie->setTVDBID(query.value("tvdbid").toInt());
lpSerie->setTVRageID(query.value("tvrageid").toInt());
lpSerie->setStatus(query.value("status").toString());
lpSerie->setDownload(query.value("download").toString());
lpSerie->setCliffhanger(query.value("cliffhanger").toBool());
@@ -1361,7 +1367,6 @@ void cMainWindow::onActionEdit()
{
QModelIndex index = ui->m_lpSeriesList1->selectionModel()->selectedRows().at(0);
// cSerie* lpSerie = m_lpSeriesListModel->itemFromIndex(ui->m_lpSeriesList1->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cSerie*>();
cSerie* lpSerie = m_lpSeriesListModel->itemFromIndex(index)->data(Qt::UserRole).value<cSerie*>();
if(!lpSerie)
return;
@@ -1381,8 +1386,9 @@ void cMainWindow::onActionEdit()
lpSerie->del(m_db);
lpSerie->save(m_db);
emit m_lpSeriesListModel->layoutChanged();
// emit m_lpSeriesListModel->layoutChanged();
emit ui->m_lpSeriesList1->model()->layoutChanged();
emit ui->m_lpSeriesList2->model()->layoutChanged();
delete lpDialog;
}
+62 -2
View File
@@ -25,6 +25,11 @@ cSerie::cSerie() :
m_iVoteCount(-1),
m_szOverview(""),
m_firstAired(QDate(1900, 1, 1)),
m_szIMDBID(""),
m_szFreebaseMID(""),
m_szFreebaseID(""),
m_iTVDBID(-1),
m_iTVRageID(-1),
m_szStatus(""),
m_szDownload(""),
m_bCliffhanger(false)
@@ -311,6 +316,56 @@ QStringList cSerie::genre()
return(m_szGenre);
}
void cSerie::setIMDBID(const QString& szIMDBID)
{
m_szIMDBID = szIMDBID;
}
QString cSerie::IMDBID()
{
return(m_szIMDBID);
}
void cSerie::setFreebaseMID(const QString& szFreebaseMID)
{
m_szFreebaseMID = szFreebaseMID;
}
QString cSerie::freebaseMID()
{
return(m_szFreebaseMID);
}
void cSerie::setFreebaseID(const QString& szFreebaseID)
{
m_szFreebaseID = szFreebaseID;
}
QString cSerie::freebaseID()
{
return(m_szFreebaseID);
}
void cSerie::setTVDBID(const qint16& iTVDBID)
{
m_iTVDBID = iTVDBID;
}
qint16 cSerie::tvdbID()
{
return(m_iTVDBID);
}
void cSerie::setTVRageID(const qint16& iTVRageID)
{
m_iTVRageID = iTVRageID;
}
qint16 cSerie::tvrageID()
{
return(m_iTVRageID);
}
void cSerie::setStatus(const QString& szStatus)
{
m_szStatus = szStatus;
@@ -430,8 +485,8 @@ bool cSerie::save(QSqlDatabase &db)
QSqlQuery querySeason;
QSqlQuery queryEpisode;
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);");
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,imdbid,freebasemid,freebaseid,tvdbid,tvrageid,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,:imdbid,:freebasemid,:freebaseid,:tvdbid,:tvrageid,:status,:download,:cliffhanger);");
querySeason.prepare("INSERT INTO season (_id,airDate,name,overview,id,posterPath,seasonNumber,seriesID) VALUES (:_id,:airDate,:name,:overview,:id,:posterPath,:seasonNumber,:seriesID);");
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);");
@@ -465,6 +520,11 @@ bool cSerie::save(QSqlDatabase &db)
querySerie.bindValue(":cast", cast().join("|"));
querySerie.bindValue(":crew", crew().join("|"));
querySerie.bindValue(":genre", genre().join(","));
querySerie.bindValue(":imdbid", IMDBID());
querySerie.bindValue(":freebasemid", freebaseMID());
querySerie.bindValue(":freebaseid", freebaseID());
querySerie.bindValue(":tvdbid", tvdbID());
querySerie.bindValue("tvrageid", tvrageID());
querySerie.bindValue(":status", status());
querySerie.bindValue(":download", download());
querySerie.bindValue(":cliffhanger", cliffhanger());
+20
View File
@@ -94,6 +94,21 @@ public:
void setGenre(const QStringList& szGenre);
QStringList genre();
void setIMDBID(const QString& szIMDBID);
QString IMDBID();
void setFreebaseMID(const QString& szFreebaseMID);
QString freebaseMID();
void setFreebaseID(const QString& szFreebaseID);
QString freebaseID();
void setTVDBID(const qint16& iTVDBID);
qint16 tvdbID();
void setTVRageID(const qint16& iTVRageID);
qint16 tvrageID();
void setStatus(const QString& szStatus);
QString status();
@@ -155,6 +170,11 @@ private:
QStringList m_szCast;
QStringList m_szCrew;
QStringList m_szGenre;
QString m_szIMDBID;
QString m_szFreebaseMID;
QString m_szFreebaseID;
qint16 m_iTVDBID;
qint16 m_iTVRageID;
QString m_szStatus;
QString m_szDownload;
bool m_bCliffhanger;
+11 -2
View File
@@ -325,7 +325,7 @@ cSerie* cTheMovieDBV3::loadSerie(const qint32 &iID, const QString& szLanguage)
{
cSerie* lpSerie = 0;
QNetworkAccessManager networkManager;
QNetworkRequest request(QUrl(QString("https://api.themoviedb.org/3/tv/%1?api_key=%2&language=%3&append_to_response=credits").arg(iID).arg(m_szToken).arg(szLanguage)));
QNetworkRequest request(QUrl(QString("https://api.themoviedb.org/3/tv/%1?api_key=%2&language=%3&append_to_response=credits,external_ids").arg(iID).arg(m_szToken).arg(szLanguage)));
request.setRawHeader("Content-Type", "application/json");
request.setRawHeader("Authorization", QString("Bearer %1").arg(m_szToken).toUtf8());
@@ -403,8 +403,17 @@ cSerie* cTheMovieDBV3::loadSerie(const qint32 &iID, const QString& szLanguage)
lpSerie->setVoteAverage(jsonObj["vote_average"].toDouble());
lpSerie->setVoteCount(jsonObj["vote_count"].toInt());
QJsonObject creditsObj = jsonObj["credits"].toObject();
QJsonObject idsObj = jsonObj["external_ids"].toObject();
if(!idsObj.isEmpty())
{
lpSerie->setIMDBID(idsObj["imdb_id"].toString());
lpSerie->setFreebaseMID(idsObj["freebase_mid"].toString());
lpSerie->setFreebaseID(idsObj["freebase_id"].toString());
lpSerie->setTVDBID(idsObj["tvdb_id"].toInt());
lpSerie->setTVRageID(idsObj["tvrage_id"].toInt());
}
QJsonObject creditsObj = jsonObj["credits"].toObject();
if(!creditsObj.isEmpty())
{
QJsonArray jsonArrayCast = creditsObj["cast"].toArray();