diff options
author | Arno <am@disconnect.de> | 2013-09-21 05:43:34 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-09-21 05:43:34 +0200 |
commit | 028203679a6bbd45287e8ca35a104b026e886c69 (patch) | |
tree | 1140abc63440a40c5a4a6be35ce16013b93f351a /archivemodel.cpp | |
parent | 896be3c0f9d8de231da6f3ab840c0cc39d3510a4 (diff) | |
download | SheMov-028203679a6bbd45287e8ca35a104b026e886c69.tar.gz SheMov-028203679a6bbd45287e8ca35a104b026e886c69.tar.bz2 SheMov-028203679a6bbd45287e8ca35a104b026e886c69.zip |
Implement addCovers
Add covers to an already archived movie.
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index 940f18f..75f6509 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -507,6 +507,38 @@ bool ArchiveModel::setFavorite(int partId, bool favorite){ return false; } +void ArchiveModel::addCovers(int partId, const QStringList covers){ + QSqlQuery coverQ(mDb); + coverQ.prepare("INSERT INTO files(iseriespart_id, tfilename, cmd5sum, bisize, sifiletype, cpicsize) VALUES(:id, :fn, :md5, :size, :type, :picsize)"); + foreach(QString c, covers){ + QFileInfo fi(c); + if(!fi.exists()){ + continue; + } + qint64 size = fi.size(); + QString md5sum = Helper::md5Sum(c); + QVariant picSize = Helper::picSize(c); + int type = ArchiveFilesModel::GeneralCover; + QString archivedFile = Helper::moveToArchive(c, md5sum, true); + if(archivedFile.isEmpty()){ + //copy failed + continue; + } + QFileInfo afi(archivedFile); + coverQ.bindValue(":id", partId); + coverQ.bindValue(":fn", afi.fileName()); + coverQ.bindValue(":md5", md5sum); + coverQ.bindValue(":size", size); + coverQ.bindValue(":type", type); + coverQ.bindValue(":picsize", picSize); + if(coverQ.exec()){ + QFile::remove(c); + }else{ + QFile::remove(archivedFile); + } + } +} + QStringList ArchiveModel::allSources() const{ QSqlQuery sQ("SELECT DISTINCT(tsourcemedium) FROM metadata ORDER BY tsourcemedium ASC", mDb); QStringList retval; |