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);
+  }
+}