Mercurial > dedupe
diff SqliteDBLink.cpp @ 5:5e4985407feb
Add commandline tool updateDeDupe.
Fix removal of removed files from DB.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Wed, 22 Aug 2012 00:41:15 +0200 |
| parents | 2833b7f8884a |
| children | d6fdca3bf24e |
line wrap: on
line diff
--- a/SqliteDBLink.cpp Tue Aug 21 15:27:29 2012 +0200 +++ b/SqliteDBLink.cpp Wed Aug 22 00:41:15 2012 +0200 @@ -158,3 +158,27 @@ return values; } + +void SqliteDBLink::deleteFileFromDB(const QString& path) +{ + QSqlQuery query; + query.prepare("DELETE FROM files WHERE path = :path"); + query.bindValue(":path", path); + if (!query.exec()) { + qDebug() << path << "::" << query.lastQuery() << "::" << query.lastError().text(); + } +} + + +void SqliteDBLink::keepOnlyFromPrefix(const QString& prefix, const QStringList& files) +{ + QStringList list; + foreach(QSharedPointer<DBInfo> info, values(prefix)) { + if (!files.contains(info->path())) { + list << info->path(); + } + } + foreach(QString path, list) { + deleteFileFromDB(path); + } +}
