2007-05-12 Don Allingham <don@gramps-project.org>
* src/DataViews/_PedigreeView.py: additional error checking * src/DataViews/_RelationView.py: check for empty person * src/GrampsDb/_ReadGedcom.py: additional error checking * src/GrampsDb/_DbUtils.py: additional error checking * src/ReportBase/_ReportDialog.py: additional error checking * src/Editors/_EditFamily.py: additional error checking * src/DisplayTabs/_EmbeddedList.py: additional error checking * src/plugins/FindDupes.py: additional error checking * src/plugins/Verify.py: additional error checking * src/ImgManip.py: additional error checking * src/BasicUtils.py: additional error checking svn: r8464
This commit is contained in:
parent
668e2c0604
commit
0bf1622625
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2007-05-12 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/DataViews/_PedigreeView.py: additional error checking
|
||||||
|
* src/DataViews/_RelationView.py: check for empty person
|
||||||
|
* src/GrampsDb/_ReadGedcom.py: additional error checking
|
||||||
|
* src/GrampsDb/_DbUtils.py: additional error checking
|
||||||
|
* src/ReportBase/_ReportDialog.py: additional error checking
|
||||||
|
* src/Editors/_EditFamily.py: additional error checking
|
||||||
|
* src/DisplayTabs/_EmbeddedList.py: additional error checking
|
||||||
|
* src/plugins/FindDupes.py: additional error checking
|
||||||
|
* src/plugins/Verify.py: additional error checking
|
||||||
|
* src/ImgManip.py: additional error checking
|
||||||
|
* src/BasicUtils.py: additional error checking
|
||||||
|
|
||||||
2007-05-11 Benny Malengier <bm@cage.ugent.be>
|
2007-05-11 Benny Malengier <bm@cage.ugent.be>
|
||||||
* src/GrampsDb/_ReadXML.py: clean meld issues, add privacy read lds_ord even if not set yet
|
* src/GrampsDb/_ReadXML.py: clean meld issues, add privacy read lds_ord even if not set yet
|
||||||
|
|
||||||
|
@ -76,7 +76,10 @@ class UpdateCallback:
|
|||||||
self.count += 1
|
self.count += 1
|
||||||
if not count:
|
if not count:
|
||||||
count = self.count
|
count = self.count
|
||||||
|
if self.total:
|
||||||
newval = int(100*count/self.total)
|
newval = int(100*count/self.total)
|
||||||
|
else:
|
||||||
|
newval = 0
|
||||||
newtime = time.time()
|
newtime = time.time()
|
||||||
time_has_come = self.interval and (newtime-self.oldtime>self.interval)
|
time_has_come = self.interval and (newtime-self.oldtime>self.interval)
|
||||||
value_changed = newval!=self.oldval
|
value_changed = newval!=self.oldval
|
||||||
|
@ -61,6 +61,7 @@ from Editors import EditPerson, EditFamily
|
|||||||
from DdTargets import DdTargets
|
from DdTargets import DdTargets
|
||||||
import cPickle as pickle
|
import cPickle as pickle
|
||||||
|
|
||||||
|
from QuestionDialog import RunDatabaseRepair
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -610,11 +611,14 @@ class PedigreeView(PageView.PersonNavView):
|
|||||||
all handling of visibility is now in rebuild_trees, see that for more
|
all handling of visibility is now in rebuild_trees, see that for more
|
||||||
information.
|
information.
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
active = self.dbstate.get_active_person()
|
active = self.dbstate.get_active_person()
|
||||||
if active:
|
if active:
|
||||||
self.rebuild_trees(active.handle)
|
self.rebuild_trees(active.handle)
|
||||||
else:
|
else:
|
||||||
self.rebuild_trees(None)
|
self.rebuild_trees(None)
|
||||||
|
except AttributeError, msg:
|
||||||
|
RunDatabaseRepair(str(msg))
|
||||||
|
|
||||||
def change_db(self,db):
|
def change_db(self,db):
|
||||||
"""
|
"""
|
||||||
|
@ -1029,6 +1029,9 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
family = RelLib.Family()
|
family = RelLib.Family()
|
||||||
person = self.dbstate.active
|
person = self.dbstate.active
|
||||||
|
|
||||||
|
if not person:
|
||||||
|
return
|
||||||
|
|
||||||
if person.gender == RelLib.Person.MALE:
|
if person.gender == RelLib.Person.MALE:
|
||||||
family.set_father_handle(person.handle)
|
family.set_father_handle(person.handle)
|
||||||
else:
|
else:
|
||||||
@ -1089,6 +1092,9 @@ class RelationshipView(PageView.PersonNavView):
|
|||||||
family = RelLib.Family()
|
family = RelLib.Family()
|
||||||
person = self.dbstate.active
|
person = self.dbstate.active
|
||||||
|
|
||||||
|
if not person:
|
||||||
|
return
|
||||||
|
|
||||||
ref = RelLib.ChildRef()
|
ref = RelLib.ChildRef()
|
||||||
ref.ref = person.handle
|
ref.ref = person.handle
|
||||||
family.add_child_ref(ref)
|
family.add_child_ref(ref)
|
||||||
|
@ -353,7 +353,13 @@ class EmbeddedList(ButtonTab):
|
|||||||
Rebuilds the data in the database by creating a new model,
|
Rebuilds the data in the database by creating a new model,
|
||||||
using the build_model function passed at creation time.
|
using the build_model function passed at creation time.
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
self.model = self.build_model(self.get_data(), self.dbstate.db)
|
self.model = self.build_model(self.get_data(), self.dbstate.db)
|
||||||
|
except AttributeError, msg:
|
||||||
|
from QuestionDialog import RunDatabaseRepair
|
||||||
|
RunDatabaseRepair(str(msg))
|
||||||
|
return
|
||||||
|
|
||||||
self.tree.set_model(self.model)
|
self.tree.set_model(self.model)
|
||||||
self._set_label()
|
self._set_label()
|
||||||
self._selection_changed()
|
self._selection_changed()
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#
|
o#
|
||||||
# Gramps - a GTK+/GNOME based genealogy program
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000-2007 Donald N. Allingham
|
# Copyright (C) 2000-2007 Donald N. Allingham
|
||||||
@ -27,6 +27,7 @@
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
import cPickle as pickle
|
import cPickle as pickle
|
||||||
|
from bsddb import db
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -253,8 +254,11 @@ class ChildEmbedList(EmbeddedList):
|
|||||||
if ref.ref == handle:
|
if ref.ref == handle:
|
||||||
p = self.dbstate.db.get_person_from_handle(handle)
|
p = self.dbstate.db.get_person_from_handle(handle)
|
||||||
n = NameDisplay.displayer.display(p)
|
n = NameDisplay.displayer.display(p)
|
||||||
|
try:
|
||||||
EditChildRef(n, self.dbstate, self.uistate, self.track,
|
EditChildRef(n, self.dbstate, self.uistate, self.track,
|
||||||
ref, self.child_ref_edited)
|
ref, self.child_ref_edited)
|
||||||
|
except Errors.WindowActiveError, msg:
|
||||||
|
pass
|
||||||
break
|
break
|
||||||
|
|
||||||
def edit_child_button_clicked(self, obj):
|
def edit_child_button_clicked(self, obj):
|
||||||
@ -773,7 +777,12 @@ class EditFamily(EditPrimary):
|
|||||||
len(self.obj.get_child_ref_list()) == 0
|
len(self.obj.get_child_ref_list()) == 0
|
||||||
|
|
||||||
def save(self,*obj):
|
def save(self,*obj):
|
||||||
|
try:
|
||||||
|
self.__do_save()
|
||||||
|
except db.DBRunRecoveryError, msg:
|
||||||
|
QuestionDialog.RunDatabaseRepair(msg[1])
|
||||||
|
|
||||||
|
def __do_save(self):
|
||||||
self.ok_button.set_sensitive(False)
|
self.ok_button.set_sensitive(False)
|
||||||
if not self.added:
|
if not self.added:
|
||||||
original = self.db.get_family_from_handle(self.obj.handle)
|
original = self.db.get_family_from_handle(self.obj.handle)
|
||||||
|
@ -116,6 +116,8 @@ def remove_parent_from_family(db, person_handle, family_handle, trans=None):
|
|||||||
elif family.get_mother_handle() == person_handle:
|
elif family.get_mother_handle() == person_handle:
|
||||||
msg = _("Remove mother from family")
|
msg = _("Remove mother from family")
|
||||||
family.set_mother_handle(None)
|
family.set_mother_handle(None)
|
||||||
|
else:
|
||||||
|
msg = _("Family unchanged")
|
||||||
|
|
||||||
child_list = family.get_child_ref_list()
|
child_list = family.get_child_ref_list()
|
||||||
if (not family.get_father_handle() and not family.get_mother_handle() and
|
if (not family.get_father_handle() and not family.get_mother_handle() and
|
||||||
|
@ -3165,8 +3165,14 @@ class GedcomParser(UpdateCallback):
|
|||||||
state.person.add_attribute(attr)
|
state.person.add_attribute(attr)
|
||||||
else:
|
else:
|
||||||
name = RelLib.Name()
|
name = RelLib.Name()
|
||||||
|
try:
|
||||||
name.set_surname(lname[-1].strip())
|
name.set_surname(lname[-1].strip())
|
||||||
|
except IndexError:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
name.set_first_name(' '.join(lname[0:l-1]))
|
name.set_first_name(' '.join(lname[0:l-1]))
|
||||||
|
except IndexError:
|
||||||
|
pass
|
||||||
state.person.add_alternate_name(name)
|
state.person.add_alternate_name(name)
|
||||||
|
|
||||||
def func_name_sour(self, matches, state):
|
def func_name_sour(self, matches, state):
|
||||||
|
@ -84,7 +84,7 @@ class ImgManip:
|
|||||||
|
|
||||||
def fmt_scale_data(self, x, y, cnv):
|
def fmt_scale_data(self, x, y, cnv):
|
||||||
fd, dest = tempfile.mkstemp()
|
fd, dest = tempfile.mkstemp()
|
||||||
scaled = self.img.scale_simple(x, y, gtk.gdk.INTERP_BILINEAR)
|
scaled = self.img.scale_simple(int(x), int(y), gtk.gdk.INTERP_BILINEAR)
|
||||||
scaled.save(dest,cnv)
|
scaled.save(dest,cnv)
|
||||||
fh = open(dest,mode='rb')
|
fh = open(dest,mode='rb')
|
||||||
data = fh.read()
|
data = fh.read()
|
||||||
|
@ -49,7 +49,7 @@ import Errors
|
|||||||
import Utils
|
import Utils
|
||||||
import const
|
import const
|
||||||
|
|
||||||
from QuestionDialog import ErrorDialog, OptionDialog
|
from QuestionDialog import ErrorDialog, OptionDialog, RunDatabaseRepair
|
||||||
|
|
||||||
from _Constants import CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK, \
|
from _Constants import CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK, \
|
||||||
CATEGORY_VIEW, CATEGORY_CODE, CATEGORY_WEB, standalone_categories
|
CATEGORY_VIEW, CATEGORY_CODE, CATEGORY_WEB, standalone_categories
|
||||||
@ -694,6 +694,8 @@ def report(dbstate,uistate,person,report_class,options_class,
|
|||||||
ErrorDialog(m1,m2)
|
ErrorDialog(m1,m2)
|
||||||
except Errors.DatabaseError,msg:
|
except Errors.DatabaseError,msg:
|
||||||
ErrorDialog(_("Report could not be created"),str(msg))
|
ErrorDialog(_("Report could not be created"),str(msg))
|
||||||
|
except AttributeError,msg:
|
||||||
|
RunDatabaseRepair(str(msg))
|
||||||
except:
|
except:
|
||||||
log.error("Failed to run report.", exc_info=True)
|
log.error("Failed to run report.", exc_info=True)
|
||||||
break
|
break
|
||||||
|
@ -161,7 +161,12 @@ class Merge(Tool.Tool,ManagedWindow.ManagedWindow):
|
|||||||
def on_merge_ok_clicked(self,obj):
|
def on_merge_ok_clicked(self,obj):
|
||||||
threshold = self.menu.get_menu().get_active().get_data("v")
|
threshold = self.menu.get_menu().get_active().get_data("v")
|
||||||
self.use_soundex = int(self.soundex_obj.get_active())
|
self.use_soundex = int(self.soundex_obj.get_active())
|
||||||
|
try:
|
||||||
self.find_potentials(threshold)
|
self.find_potentials(threshold)
|
||||||
|
except AttributeError, msg:
|
||||||
|
import QuestionDialog
|
||||||
|
QuestionDialog.RunDatabaseRepair(str(msg))
|
||||||
|
return
|
||||||
|
|
||||||
self.options.handler.options_dict['threshold'] = threshold
|
self.options.handler.options_dict['threshold'] = threshold
|
||||||
self.options.handler.options_dict['soundex'] = self.use_soundex
|
self.options.handler.options_dict['soundex'] = self.use_soundex
|
||||||
|
@ -323,14 +323,20 @@ class Verify(Tool.Tool, ManagedWindow, UpdateCallback):
|
|||||||
self.uistate.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
self.uistate.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
||||||
self.uistate.progress.show()
|
self.uistate.progress.show()
|
||||||
self.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
self.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
||||||
|
try:
|
||||||
vr.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
vr.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
self.run_tool(cli=False)
|
self.run_tool(cli=False)
|
||||||
|
|
||||||
self.uistate.progress.hide()
|
self.uistate.progress.hide()
|
||||||
self.uistate.window.window.set_cursor(None)
|
self.uistate.window.window.set_cursor(None)
|
||||||
self.window.window.set_cursor(None)
|
self.window.window.set_cursor(None)
|
||||||
|
try:
|
||||||
vr.window.window.set_cursor(None)
|
vr.window.window.set_cursor(None)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
# Save options
|
# Save options
|
||||||
|
Loading…
x
Reference in New Issue
Block a user