* src/plugins/Rebuild.py (__init__): Proper progress indication.
svn: r7743
This commit is contained in:
@@ -606,7 +606,7 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
self.secondary_connected = True
|
||||
|
||||
|
||||
def rebuild_secondary(self,callback=None):
|
||||
def rebuild_secondary(self,callback):
|
||||
if self.readonly:
|
||||
return
|
||||
|
||||
@@ -616,54 +616,65 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
self.id_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"idtrans")
|
||||
callback(1)
|
||||
|
||||
self.surnames.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"surnames")
|
||||
callback(2)
|
||||
|
||||
# Repair secondary indices related to family_map
|
||||
self.fid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"fidtrans")
|
||||
callback(3)
|
||||
|
||||
# Repair secondary indices related to place_map
|
||||
self.pid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"pidtrans")
|
||||
callback(4)
|
||||
|
||||
# Repair secondary indices related to media_map
|
||||
self.oid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"oidtrans")
|
||||
callback(5)
|
||||
|
||||
# Repair secondary indices related to source_map
|
||||
self.sid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"sidtrans")
|
||||
callback(6)
|
||||
|
||||
# Repair secondary indices related to event_map
|
||||
self.eid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"eidtrans")
|
||||
callback(7)
|
||||
|
||||
# Repair secondary indices related to repository_map
|
||||
self.rid_trans.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"ridtrans")
|
||||
callback(8)
|
||||
|
||||
# Repair secondary indices related to reference_map
|
||||
self.reference_map_primary_map.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"reference_map_primary_map")
|
||||
callback(9)
|
||||
|
||||
self.reference_map_referenced_map.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"reference_map_referenced_map")
|
||||
callback(10)
|
||||
|
||||
# Set flag saying that we have removed secondary indices
|
||||
# and then call the creating routine
|
||||
self.secondary_connected = False
|
||||
self.connect_secondary()
|
||||
callback(11)
|
||||
|
||||
def find_backlink_handles(self, handle, include_classes=None):
|
||||
"""
|
||||
@@ -865,7 +876,7 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
transaction.add(REFERENCE_KEY,str(key),None,data)
|
||||
transaction.reference_add.append((str(key),data))
|
||||
|
||||
def reindex_reference_map(self):
|
||||
def reindex_reference_map(self,callback):
|
||||
"""
|
||||
Reindex all primary records in the database.
|
||||
This will be a slow process for large databases.
|
||||
@@ -876,14 +887,17 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
self.reference_map_referenced_map.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"reference_map_referenced_map")
|
||||
callback(1)
|
||||
|
||||
self.reference_map_primary_map.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"reference_map_primary_map")
|
||||
callback(2)
|
||||
|
||||
self.reference_map.close()
|
||||
junk = db.DB(self.env)
|
||||
junk.remove(self.full_name,"reference_map")
|
||||
callback(3)
|
||||
|
||||
# Open reference_map and primapry map
|
||||
self.reference_map = self.open_table(self.full_name, "reference_map",
|
||||
@@ -919,6 +933,7 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
}
|
||||
|
||||
transaction = self.transaction_begin(batch=True,no_magic=True)
|
||||
callback(4)
|
||||
|
||||
# Now we use the functions and classes defined above
|
||||
# to loop through each of the primary object tables.
|
||||
@@ -948,6 +963,7 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
data = cursor.next()
|
||||
|
||||
cursor.close()
|
||||
callback(5)
|
||||
self.transaction_commit(transaction,_("Rebuild reference map"))
|
||||
|
||||
self.reference_map_referenced_map = db.DB(self.env)
|
||||
@@ -957,6 +973,7 @@ class GrampsBSDDB(GrampsDbBase,UpdateCallback):
|
||||
db.DB_BTREE,flags=open_flags)
|
||||
self.reference_map.associate(self.reference_map_referenced_map,
|
||||
find_referenced_handle,open_flags)
|
||||
callback(6)
|
||||
|
||||
return
|
||||
|
||||
|
@@ -283,7 +283,7 @@ class GrampsDbBase(GrampsDBCallback):
|
||||
self.path = ""
|
||||
self.name_group = {}
|
||||
|
||||
def rebuild_secondary(self, callback=None):
|
||||
def rebuild_secondary(self, callback):
|
||||
pass
|
||||
|
||||
def version_supported(self):
|
||||
@@ -2044,7 +2044,7 @@ class GrampsDbBase(GrampsDBCallback):
|
||||
need to be changed."""
|
||||
pass
|
||||
|
||||
def reindex_reference_map(self):
|
||||
def reindex_reference_map(self,callback):
|
||||
"""
|
||||
Reindex all primary records in the database.
|
||||
|
||||
|
Reference in New Issue
Block a user