1) Исправления в связи со сменой API MySQL
[openlib.git] / fb2_process.py
index 38d8876e863cd2256f7a6865793d22e919de2498..00ef2131a9aa0a9ce77706407cbd2d96e5618a50 100755 (executable)
@@ -42,7 +42,7 @@ class MetaData:
     self.sort_title = db.SortName(self.title).replace(' ','_');
     self.sort_author = db.SortAuthorName(self.author).replace(' ','_');
     self.path = ("%s/%s/%s/%s/%s (%d)" % (self.sort_author[0],self.sort_author[0:2],self.sort_author[0:4],self.sort_author[0:32],self.sort_title[0:64],self.book_id))
-    self.dataname = (self.title.decode('utf-8')[0:64]+' '+self.author.decode('utf-8')[0:32]).replace('/','')
+    self.dataname = (self.title.decode('utf-8')[0:64]+' -- '+self.author.decode('utf-8')[0:32]).replace('/','')
 
   def __init__(self,meta_dict,size):
 
@@ -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)