Добавлена процедура поиска и удаления дубликатов.
[openlib.git] / fb2_process.py
index 38d8876e863cd2256f7a6865793d22e919de2498..d8c01c18260c8a4b2cfa12de515a7038ed157c9a 100755 (executable)
@@ -279,7 +279,21 @@ def CheckFiles(delete = 0):
         db.DelBook(id)
         db.Commit()
 
+def RemoveDups(limit = 100):
+  if limit<2:
+    return
+  id_to_del=set([]) 
+  recs = db.ListDups(limit);
+  for rec in recs:
+    ids = db.ListByTitleAndAuthor(rec[0],rec[1],rec[2])
+    for id in ids:
+      id_to_del.add(id)
+  for id in id_to_del:
+    print "\r Deleting %s..." % (id)
+    DelBook(id)
+
 def main():
+  print "Processing...\r"
   ProcessDir(db.tmp_files)
   CompressAll(2000)