* src/DbPrompter.py: add callback for progressbar
* src/GrampsXMLDB.py: pass callback task * src/ReadXML.py: handle progress callback, fix placeobj error * src/gramps_main.py: define progress bar callback svn: r4544
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2005-05-10 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/DbPrompter.py: add callback for progressbar
|
||||||
|
* src/GrampsXMLDB.py: pass callback task
|
||||||
|
* src/ReadXML.py: handle progress callback, fix placeobj error
|
||||||
|
* src/gramps_main.py: define progress bar callback
|
||||||
|
|
||||||
2005-05-10 Eero Tamminen <eerot@sf>
|
2005-05-10 Eero Tamminen <eerot@sf>
|
||||||
* src/plugins/StatisticsChart.po: add gettext _() to three strings
|
* src/plugins/StatisticsChart.po: add gettext _() to three strings
|
||||||
where it was missing
|
where it was missing
|
||||||
|
@@ -313,7 +313,7 @@ class ImportDbPrompter:
|
|||||||
elif filetype == const.app_gramps_xml:
|
elif filetype == const.app_gramps_xml:
|
||||||
choose.destroy()
|
choose.destroy()
|
||||||
import ReadXML
|
import ReadXML
|
||||||
ReadXML.importData(self.parent.db,filename)
|
ReadXML.importData(self.parent.db,filename,self.parent.update_bar)
|
||||||
return True
|
return True
|
||||||
elif filetype == const.app_gedcom:
|
elif filetype == const.app_gedcom:
|
||||||
choose.destroy()
|
choose.destroy()
|
||||||
|
@@ -50,7 +50,7 @@ class GrampsXMLDB(GrampsInMemDB):
|
|||||||
|
|
||||||
self.readonly = mode == "r"
|
self.readonly = mode == "r"
|
||||||
|
|
||||||
ReadXML.importData(self,name,use_trans=False)
|
ReadXML.importData(self,name,callback,use_trans=False)
|
||||||
|
|
||||||
self.bookmarks = self.metadata.get('bookmarks')
|
self.bookmarks = self.metadata.get('bookmarks')
|
||||||
if self.bookmarks == None:
|
if self.bookmarks == None:
|
||||||
|
@@ -325,9 +325,8 @@ class GrampsParser:
|
|||||||
self.media_file_map = {}
|
self.media_file_map = {}
|
||||||
|
|
||||||
self.callback = callback
|
self.callback = callback
|
||||||
self.entries = 0
|
|
||||||
self.count = 0
|
self.count = 0
|
||||||
self.increment = 100
|
self.increment = 500
|
||||||
self.event = None
|
self.event = None
|
||||||
self.name = None
|
self.name = None
|
||||||
self.tempDefault = None
|
self.tempDefault = None
|
||||||
@@ -362,7 +361,7 @@ class GrampsParser:
|
|||||||
"comment" : (None, self.stop_comment),
|
"comment" : (None, self.stop_comment),
|
||||||
"created" : (self.start_created, None),
|
"created" : (self.start_created, None),
|
||||||
"ref" : (None, self.stop_ref),
|
"ref" : (None, self.stop_ref),
|
||||||
"database" : (None, None),
|
"database" : (None, self.stop_database),
|
||||||
"phone" : (None, self.stop_phone),
|
"phone" : (None, self.stop_phone),
|
||||||
"date" : (None, self.stop_date),
|
"date" : (None, self.stop_date),
|
||||||
"cause" : (None, self.stop_cause),
|
"cause" : (None, self.stop_cause),
|
||||||
@@ -618,10 +617,9 @@ class GrampsParser:
|
|||||||
title = attrs['id']
|
title = attrs['id']
|
||||||
self.placeobj.set_title(title)
|
self.placeobj.set_title(title)
|
||||||
self.locations = 0
|
self.locations = 0
|
||||||
if self.num_places > 0:
|
|
||||||
if self.callback != None and self.count % self.increment == 0:
|
if self.callback != None and self.count % self.increment == 0:
|
||||||
self.callback(float(self.count)/float(self.entries))
|
self.callback(True)
|
||||||
self.count = self.count + 1
|
self.count += 1
|
||||||
|
|
||||||
def start_location(self,attrs):
|
def start_location(self,attrs):
|
||||||
"""Bypass the function calls for this one, since it appears to
|
"""Bypass the function calls for this one, since it appears to
|
||||||
@@ -718,6 +716,8 @@ class GrampsParser:
|
|||||||
self.db.bookmarks.append(person.get_handle())
|
self.db.bookmarks.append(person.get_handle())
|
||||||
|
|
||||||
def start_person(self,attrs):
|
def start_person(self,attrs):
|
||||||
|
if self.callback != None and self.count % self.increment == 0:
|
||||||
|
self.callback(True)
|
||||||
new_id = self.map_gid(attrs['id'])
|
new_id = self.map_gid(attrs['id'])
|
||||||
try:
|
try:
|
||||||
self.person = self.db.find_person_from_handle(attrs['handle'],self.trans)
|
self.person = self.db.find_person_from_handle(attrs['handle'],self.trans)
|
||||||
@@ -780,7 +780,7 @@ class GrampsParser:
|
|||||||
|
|
||||||
def start_family(self,attrs):
|
def start_family(self,attrs):
|
||||||
if self.callback != None and self.count % self.increment == 0:
|
if self.callback != None and self.count % self.increment == 0:
|
||||||
self.callback(float(self.count)/float(self.entries))
|
self.callback(True)
|
||||||
self.count = self.count + 1
|
self.count = self.count + 1
|
||||||
handle = self.map_fid(attrs["id"])
|
handle = self.map_fid(attrs["id"])
|
||||||
try:
|
try:
|
||||||
@@ -939,6 +939,9 @@ class GrampsParser:
|
|||||||
def stop_people(self,*tag):
|
def stop_people(self,*tag):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def stop_database(self,*tag):
|
||||||
|
self.callback(False)
|
||||||
|
|
||||||
def stop_object(self,*tag):
|
def stop_object(self,*tag):
|
||||||
self.db.commit_media_object(self.object,self.trans,self.change)
|
self.db.commit_media_object(self.object,self.trans,self.change)
|
||||||
self.object = None
|
self.object = None
|
||||||
@@ -1110,8 +1113,6 @@ class GrampsParser:
|
|||||||
self.num_places = int(attrs['places'])
|
self.num_places = int(attrs['places'])
|
||||||
else:
|
else:
|
||||||
self.num_places = 0
|
self.num_places = 0
|
||||||
self.entries = int(attrs["people"]) + int(attrs["families"]) + \
|
|
||||||
self.num_places + self.num_srcs
|
|
||||||
|
|
||||||
def start_pos(self,attrs):
|
def start_pos(self,attrs):
|
||||||
self.person.position = (int(attrs["x"]), int(attrs["y"]))
|
self.person.position = (int(attrs["x"]), int(attrs["y"]))
|
||||||
|
@@ -325,6 +325,8 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
self.filter_btn = self.gtop.get_widget("filter1")
|
self.filter_btn = self.gtop.get_widget("filter1")
|
||||||
self.toolbar_btn = self.gtop.get_widget("toolbar2")
|
self.toolbar_btn = self.gtop.get_widget("toolbar2")
|
||||||
self.statusbar = self.gtop.get_widget("statusbar")
|
self.statusbar = self.gtop.get_widget("statusbar")
|
||||||
|
self.progress = self.statusbar.get_children()[0]
|
||||||
|
self.progress.set_pulse_step(0.01)
|
||||||
|
|
||||||
self.filter_list = self.gtop.get_widget("filter_list")
|
self.filter_list = self.gtop.get_widget("filter_list")
|
||||||
self.views = self.gtop.get_widget("views")
|
self.views = self.gtop.get_widget("views")
|
||||||
@@ -1232,7 +1234,7 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
import ReadXML
|
import ReadXML
|
||||||
ReadXML.importData(self.db,dbname,None)
|
ReadXML.importData(self.db,dbname,self.update_bar)
|
||||||
except:
|
except:
|
||||||
DisplayTrace.DisplayTrace()
|
DisplayTrace.DisplayTrace()
|
||||||
|
|
||||||
@@ -1243,6 +1245,12 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
os.rmdir(tmpdir_path)
|
os.rmdir(tmpdir_path)
|
||||||
self.import_tool_callback()
|
self.import_tool_callback()
|
||||||
|
|
||||||
|
def update_bar(self,percent):
|
||||||
|
if percent:
|
||||||
|
self.progress.pulse()
|
||||||
|
else:
|
||||||
|
self.progress.set_fraction(0)
|
||||||
|
|
||||||
def read_file(self,filename,callback=None):
|
def read_file(self,filename,callback=None):
|
||||||
self.topWindow.set_resizable(False)
|
self.topWindow.set_resizable(False)
|
||||||
mode = "w"
|
mode = "w"
|
||||||
|
Reference in New Issue
Block a user