* src/docgen/PdfDoc.py: fixed register_book_doc call

* src/AddrEdit.py: pychecker fixes
* src/AttrEdit.py: pychecker fixes
* src/AutoComp.py: pychecker fixes
* src/ChooseParents.py: pychecker fixes
* src/DbPrompter.py: pychecker fixes
* src/DisplayModels.py: pychecker fixes
* src/EventEdit.py: pychecker fixes
* src/FamilyView.py: pychecker fixes
* src/Filter.py: pychecker fixes
* src/GenericFilter.py: pychecker fixes
* src/GrampsCfg.py: pychecker fixes
* src/GrampsGconfKeys.py: pychecker fixes
* src/ImgManip.py: pychecker fixes
* src/PlaceView.py: pychecker fixes
* src/Plugins.py: pychecker fixes
* src/ReadGedcom.py: pychecker fixes
* src/ReadXML.py: pychecker fixes
* src/SelectChild.py: pychecker fixes
* src/SelectObject.py: pychecker fixes
* src/SelectPerson.py: pychecker fixes
* src/Sort.py: pychecker fixes
* src/SourceView.py: pychecker fixes
* src/Utils.py: pychecker fixes
* src/Witness.py: pychecker fixes
* src/WriteGedcom.py: pychecker fixes
* src/WriteXML.py: pychecker fixes
* src/gramps_main.py: pychecker fixes


svn: r3599
This commit is contained in:
Don Allingham 2004-10-06 03:42:54 +00:00
parent 62b9f90a36
commit e4616ff14a
28 changed files with 333 additions and 418 deletions

View File

@ -1,3 +1,33 @@
2004-10-05 Don Allingham <dallingham@users.sourceforge.net>
* src/docgen/PdfDoc.py: fixed register_book_doc call
* src/AddrEdit.py: pychecker fixes
* src/AttrEdit.py: pychecker fixes
* src/AutoComp.py: pychecker fixes
* src/ChooseParents.py: pychecker fixes
* src/DbPrompter.py: pychecker fixes
* src/DisplayModels.py: pychecker fixes
* src/EventEdit.py: pychecker fixes
* src/FamilyView.py: pychecker fixes
* src/Filter.py: pychecker fixes
* src/GenericFilter.py: pychecker fixes
* src/GrampsCfg.py: pychecker fixes
* src/GrampsGconfKeys.py: pychecker fixes
* src/ImgManip.py: pychecker fixes
* src/PlaceView.py: pychecker fixes
* src/Plugins.py: pychecker fixes
* src/ReadGedcom.py: pychecker fixes
* src/ReadXML.py: pychecker fixes
* src/SelectChild.py: pychecker fixes
* src/SelectObject.py: pychecker fixes
* src/SelectPerson.py: pychecker fixes
* src/Sort.py: pychecker fixes
* src/SourceView.py: pychecker fixes
* src/Utils.py: pychecker fixes
* src/Witness.py: pychecker fixes
* src/WriteGedcom.py: pychecker fixes
* src/WriteXML.py: pychecker fixes
* src/gramps_main.py: pychecker fixes
2004-10-03 Frederick Noronha <fred@bytesforall.org>
* src/data/tips.xml: Add more tips.

View File

@ -50,7 +50,6 @@ import Utils
import Date
import RelLib
import Sources
import Date
import DateEdit
#-------------------------------------------------------------------------

View File

@ -196,7 +196,7 @@ class AttributeEditor:
Called when the OK button is pressed. Gets data from the
form and updates the Attribute data structure.
"""
type = unicode(self.type_field.get_text())
attr = unicode(self.type_field.get_text())
value = unicode(self.value_field.get_text())
buf = self.note_field.get_buffer()
@ -204,11 +204,11 @@ class AttributeEditor:
format = self.preform.get_active()
priv = self.priv.get_active()
if not type in self.alist:
if not attr in self.alist:
WarningDialog(_('New attribute type created'),
_('The "%s" attribute type has been added to this database.\n'
'It will now appear in the attribute menus for this database') % type)
self.alist.append(type)
'It will now appear in the attribute menus for this database') % attr)
self.alist.append(attr)
self.alist.sort()
if self.attrib == None:
@ -216,7 +216,7 @@ class AttributeEditor:
self.parent.alist.append(self.attrib)
self.attrib.set_source_reference_list(self.srcreflist)
self.update(type,value,note,format,priv)
self.update(attr,value,note,format,priv)
self.callback(self.attrib)
self.close(obj)
@ -227,9 +227,9 @@ class AttributeEditor:
set(data)
self.parent.lists_changed = 1
def update(self,type,value,note,format,priv):
def update(self,attr,value,note,format,priv):
"""Compares the data items, and updates if necessary"""
ntype = const.save_pattr(type)
ntype = const.save_pattr(attr)
self.check(self.attrib.get_type,self.attrib.set_type,ntype)
self.check(self.attrib.get_value,self.attrib.set_value,value)
self.check(self.attrib.get_note,self.attrib.set_note,note)

View File

@ -55,7 +55,6 @@ def fill_entry(entry,data_list):
def fill_option_text(combobox,data):
store = gtk.ListStore(gobject.TYPE_STRING)
cell = gtk.CellRendererText()
for item in data:
store.append(row=[item])
combobox.set_model(store)

View File

@ -34,7 +34,6 @@ __version__ = "$Revision$"
#
#-------------------------------------------------------------------------
from gettext import gettext as _
import os
#-------------------------------------------------------------------------
#
@ -417,25 +416,6 @@ class ChooseParents:
self.db.commit_family(family,trans)
return family
def mother_list_select_row(self,obj):
"""Called when a row is selected in the mother list. Sets the
active mother based off the id associated with the row."""
idlist = self.get_selected_mother_handles()
if idlist and idlist[0]:
self.mother = self.db.get_person_from_handle(idlist[0])
else:
self.mother = None
if not self.parent_selected and self.mother:
self.parent_selected = 1
family_handle_list = self.mother.get_family_handle_list()
if len(family_handle_list) >= 1:
family = self.db.get_family_from_handle(family_handle_list[0])
father_handle = family.get_father_handle()
self.father_selection.select(father_handle)
#self.father_model.center_selected()
def father_select_function(self,store,path,iter,id_list):
if len(path) != 1:
val = self.father_model.get_value(iter,PeopleModel.COLUMN_INT_ID)

View File

@ -26,7 +26,6 @@
#
#-------------------------------------------------------------------------
import os
import shutil
from gettext import gettext as _
#-------------------------------------------------------------------------

View File

@ -51,19 +51,14 @@ class BaseModel(gtk.GenericTreeModel):
self.datalist = self.sort_keys()
def on_row_inserted(self,obj,path,iter):
def on_row_inserted(self,obj,path,node):
self.rebuild_data()
def delete_row_by_handle(self,handle):
index = self.datalist.index(handle)
del self.datalist[index]
self.row_deleted(index)
def add_row_by_handle(self,handle):
self.datalist = self.sort_keys()
index = self.datalist.index(handle)
iter = self.get_iter(index)
self.row_inserted(index,iter)
node = self.get_iter(index)
self.row_inserted(index,node)
def delete_row_by_handle(self,handle):
index = self.datalist.index(handle)
@ -72,8 +67,8 @@ class BaseModel(gtk.GenericTreeModel):
def update_row_by_handle(self,handle):
index = self.datalist.index(handle)
iter = self.get_iter(index)
self.row_changed(index,iter)
node = self.get_iter(index)
self.row_changed(index,node)
def on_get_flags(self):
'''returns the GtkTreeModelFlags for this particular type of model'''
@ -96,9 +91,9 @@ class BaseModel(gtk.GenericTreeModel):
except IndexError:
return None
def on_get_value(self,iter,col):
def on_get_value(self,node,col):
try:
return self.fmap[col](self.map[str(iter)])
return self.fmap[col](self.map[str(node)])
except:
return u''

View File

@ -46,7 +46,6 @@ import Sources
import Witness
import const
import Utils
import GrampsCfg
import AutoComp
import RelLib
import Date

View File

@ -291,12 +291,12 @@ class FamilyView:
self.add_sp_parents(obj)
def child_key_press(self,obj,event):
model, iter = self.child_selection.get_selected()
if not iter:
model, node = self.child_selection.get_selected()
if not node:
return
id = self.child_model.get_value(iter,7)
handle = self.child_model.get_value(node,7)
if event.keyval == gtk.gdk.keyval_from_name("Return") and not event.state:
self.child_rel_by_id(id)
self.child_rel_by_id(handle)
elif event.keyval == gtk.gdk.keyval_from_name("Return") \
and event.state == gtk.gdk.SHIFT_MASK:
self.edit_child_callback(obj)
@ -429,22 +429,22 @@ class FamilyView:
menu.popup(None,None,None,event.button,event.time)
def on_child_list_button_press(self,obj,event):
model, iter = self.child_selection.get_selected()
if not iter:
model, node = self.child_selection.get_selected()
if not node:
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
self.build_nav_menu(event)
return
id = self.child_model.get_value(iter,7)
handle = self.child_model.get_value(node,7)
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
self.child_rel_by_id(id)
self.child_rel_by_id(handle)
elif event.state == gtk.gdk.SHIFT_MASK and \
event.type == gtk.gdk.BUTTON_PRESS and \
event.button == 1:
self.edit_child_callback(obj)
elif event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
self.build_child_menu(id,event)
self.build_child_menu(handle,event)
def build_child_menu(self,id,event):
def build_child_menu(self,handle,event):
"""Builds the menu that allows editing operations on the child list"""
menu = gtk.Menu()
@ -480,33 +480,36 @@ class FamilyView:
(_("Remove the selected child"),self.remove_child_clicked),
]
for msg,callback in entries:
Utils.add_menuitem(menu,msg,id,callback)
Utils.add_menuitem(menu,msg,handle,callback)
menu.popup(None,None,None,event.button,event.time)
def edit_child_callback(self,obj):
model, iter = self.child_selection.get_selected()
if not iter:
model, node = self.child_selection.get_selected()
if not node:
return
child = self.parent.db.get_person_from_handle(self.child_model.get_value(iter,7))
handle = self.child_model.get_value(node,7)
child = self.parent.db.get_person_from_handle(handle)
try:
EditPerson.EditPerson(self.parent, child, self.parent.db, self.spouse_after_edit)
EditPerson.EditPerson(self.parent, child, self.parent.db,
self.spouse_after_edit)
except:
DisplayTrace.DisplayTrace()
def child_rel(self,obj):
person = self.parent.db.get_person_from_handle(obj.get_data(Utils.OBJECT))
handle = obj.get_data('o')
person = self.parent.db.get_person_from_handle(handle)
SelectChild.EditRel(self.parent.db,person,self.family,self.load_family)
def child_rel_by_id(self,id):
person = self.parent.db.get_person_from_handle(id)
def child_rel_by_id(self,handle):
person = self.parent.db.get_person_from_handle(handle)
SelectChild.EditRel(self.parent.db,person,self.family,self.load_family)
def spouse_changed(self,obj):
model, iter = obj.get_selected()
if not iter:
model, node = obj.get_selected()
if not node:
self.display_marriage(None)
else:
row = model.get_path(iter)
row = model.get_path(node)
family_handle = self.person.get_family_handle_list()[row[0]]
fam = self.parent.db.get_family_from_handle(family_handle)
self.display_marriage(fam)
@ -686,7 +689,7 @@ class FamilyView:
DisplayTrace.DisplayTrace()
def update_person_list(self,person):
trans = self.db.transaction_begin()
trans = self.parent.db.transaction_begin()
if not self.family:
self.family = RelLib.Family()
@ -701,9 +704,9 @@ class FamilyView:
person.add_parent_family_handle(self.family.get_handle(),"Birth","Birth")
self.parent.update_person_list(person)
self.load_family(self.family)
self.db.commit_person(person,trans)
self.db.commit_family(self.family,trans)
self.db.transaction_commit(trans,_("Modify family"))
self.parent.db.commit_person(person,trans)
self.parent.db.commit_family(self.family,trans)
self.parent.db.transaction_commit(trans,_("Modify family"))
def new_child_after_edit(self,epo,trans):
@ -739,12 +742,12 @@ class FamilyView:
if not self.family or not self.person:
return
model, iter = self.child_selection.get_selected()
if not iter:
model, node = self.child_selection.get_selected()
if not node:
return
id = self.child_model.get_value(iter,7)
child = self.parent.db.get_person_from_handle(id)
handle = self.child_model.get_value(node,7)
child = self.parent.db.get_person_from_handle(handle)
trans = self.parent.db.transaction_begin()
@ -834,8 +837,8 @@ class FamilyView:
if len(plist) == 1:
family_handle,m,r = plist[0]
else:
model, iter = self.ap_selection.get_selected()
path = model.get_path(iter)
model, node = self.ap_selection.get_selected()
path = model.get_path(node)
family_handle,m,r = plist[path[0]]
family = self.parent.db.get_family_from_handle(family_handle)
@ -862,8 +865,8 @@ class FamilyView:
def load_family(self,family=None):
if self.parent.active_person:
id = self.parent.active_person.get_handle()
self.person = self.parent.db.get_person_from_handle(id)
handle = self.parent.active_person.get_handle()
self.person = self.parent.db.get_person_from_handle(handle)
else:
self.person = None
self.clear()
@ -891,8 +894,8 @@ class FamilyView:
self.ap_model.clear()
self.ap_data.get_selection().set_mode(gtk.SELECTION_NONE)
iter = self.ap_model.append()
self.ap_model.set(iter,0,n)
node = self.ap_model.append()
self.ap_model.set(node,0,n)
self.selected_spouse = None
self.spouse_model.clear()
@ -916,8 +919,8 @@ class FamilyView:
else:
sp_id = fm.get_father_handle()
iter = self.spouse_model.append()
flist[f] = iter
node = self.spouse_model.append()
flist[f] = node
if sp_id:
sp = self.parent.db.get_person_from_handle(sp_id)
@ -930,20 +933,20 @@ class FamilyView:
sp.get_gramps_id(),
const.family_relations[fm.get_relationship()][0],
mdate)
self.spouse_model.set(iter,0,v)
self.spouse_model.set(node,0,v)
else:
self.spouse_model.set(iter,0,"%s\n" % _("<double click to add spouse>"))
self.spouse_model.set(node,0,"%s\n" % _("<double click to add spouse>"))
if family and family.get_handle() in flist:
self.display_marriage(family)
iter = flist[family.get_handle()]
self.spouse_selection.select_iter(iter)
node = flist[family.get_handle()]
self.spouse_selection.select_iter(node)
elif len(flist) > 0:
fid = splist[0]
fam = self.parent.db.get_family_from_handle(fid)
self.display_marriage(fam)
iter = flist[fid]
self.spouse_selection.select_iter(iter)
node = flist[fid]
self.spouse_selection.select_iter(node)
else:
self.display_marriage(None)
@ -961,9 +964,9 @@ class FamilyView:
model.clear()
sel = None
selection = tree.get_selection()
list = person.get_parent_family_handle_list()
family_list = person.get_parent_family_handle_list()
for (f,mrel,frel) in list:
for (f,mrel,frel) in family_list:
fam = self.parent.db.get_family_from_handle(f)
father_handle = fam.get_father_handle()
mother_handle = fam.get_mother_handle()
@ -972,12 +975,12 @@ class FamilyView:
father = self.nameof(_("Father"),f,frel)
mother = self.nameof(_("Mother"),m,mrel)
iter = model.append()
node = model.append()
if not sel:
sel = iter
sel = node
v = "%s\n%s" % (father,mother)
model.set(iter,0,v)
if len(list) > 1:
model.set(node,0,v)
if len(family_list) > 1:
selection.set_mode(gtk.SELECTION_SINGLE)
selection.select_iter(sel)
else:
@ -1045,11 +1048,11 @@ class FamilyView:
else:
status = "%s/%s" % (_(fam[1]),_(fam[2]))
iter = self.child_model.append()
self.child_map[iter] = child.get_handle()
node = self.child_model.append()
self.child_map[node] = child.get_handle()
if fiter == None:
fiter = self.child_model.get_path(iter)
fiter = self.child_model.get_path(node)
val = child.get_display_info()
i += 1
@ -1058,7 +1061,7 @@ class FamilyView:
dval = self.dd.display(event.get_date_object())
else:
dval = u''
self.child_model.set(iter,0,i,1,val[0],2,val[1],3,val[2],
self.child_model.set(node,0,i,1,val[0],2,val[1],3,val[2],
4,dval,5,status,6,val[6],7,child.get_handle())
def build_parents_menu(self,family,event):
@ -1157,8 +1160,8 @@ class FamilyView:
elif len(plist) == 1:
family,m,r = plist[0]
else:
model, iter = self.ap_selection.get_selected()
path = model.get_path(iter)
model, node = self.ap_selection.get_selected()
path = model.get_path(node)
family,m,r = plist[path[0]]
self.build_parents_menu(family,event)
@ -1177,8 +1180,8 @@ class FamilyView:
elif len(plist) == 1:
family,m,r = plist[0]
else:
model, iter = self.sp_selection.get_selected()
path = model.get_path(iter)
model, node = self.sp_selection.get_selected()
path = model.get_path(node)
family,m,r = plist[path[0]]
self.build_sp_parents_menu(family,event)
@ -1221,16 +1224,16 @@ class FamilyView:
def child_back(self,obj):
"""makes the currently select child the active person"""
model, iter = self.child_selection.get_selected()
if iter:
id = self.child_model.get_value(iter,2)
child = self.parent.db.get_person_from_gramps_id(id)
model, node = self.child_selection.get_selected()
if node:
handle = self.child_model.get_value(node,2)
child = self.parent.db.get_person_from_gramps_id(handle)
self.parent.change_active_person(child)
self.load_family()
else:
list = self.family.get_child_handle_list()
if len(list) == 1:
p = self.parent.db.get_person_from_handle(list[0])
child_list = self.family.get_child_handle_list()
if len(child_list) == 1:
p = self.parent.db.get_person_from_handle(child_list[0])
self.parent.change_active_person(p)
self.load_family()
@ -1245,11 +1248,11 @@ class FamilyView:
elif len(plist) == 1:
parents,mrel,frel = plist[0]
else:
model, iter = selection.get_selected()
if not iter:
model, node = selection.get_selected()
if not node:
return
row = model.get_path(iter)
row = model.get_path(node)
parents,mrel,frel = plist[row[0]]
try:
@ -1285,11 +1288,11 @@ class FamilyView:
if len(plist) == 1:
person.clear_parent_family_handle_list()
else:
model, iter = selection.get_selected()
if not iter:
model, node = selection.get_selected()
if not node:
return
row = model.get_path(iter)
row = model.get_path(node)
family_handle = person.get_parent_family_handle_list()[row[0]][0]
person.remove_parent_family_handle(family_handle)
fam = self.parent.db.get_family_from_handle(family_handle)
@ -1335,29 +1338,29 @@ class FamilyView:
spath = s.get_path(i)
src = spath[0]
list = self.family.get_child_handle_list()
child_list = self.family.get_child_handle_list()
obj = list[src]
list.remove(obj)
list.insert(row,obj)
obj = child_list[src]
child_list.remove(obj)
child_list.insert(row,obj)
if self.birth_dates_in_order(list) == 0:
if self.birth_dates_in_order(child_list) == 0:
WarningDialog(_("Attempt to Reorder Children Failed"),
_("Children must be ordered by their birth dates."))
return
self.family.set_child_handle_list(list)
self.family.set_child_handle_list(child_list)
trans = self.parent.db.transaction_begin()
self.parent.db.commit_family(self.family,trans)
self.parent.db.transaction_commit(trans,_('Reorder children'))
self.display_marriage(self.family)
def drag_data_get(self,widget, context, sel_data, info, time):
store,iter = self.child_selection.get_selected()
if not iter:
store,node = self.child_selection.get_selected()
if not node:
return
id = self.child_model.get_value(iter,2)
handle = self.child_model.get_value(node,2)
bits_per = 8; # we're going to pass a string
data = str(('child',id));
data = str(('child',handle));
sel_data.set(sel_data.target, bits_per, data)
def north_american(self,val):

View File

@ -108,8 +108,8 @@ def load_filters(dir):
return
sys.path.append(dir)
for file in os.listdir(dir):
name = os.path.split(file)
for filename in os.listdir(dir):
name = os.path.split(filename)
match = pymod.match(name[1])
if match:
plugin = match.groups()[0]
@ -127,8 +127,8 @@ def load_filters(dir):
#-------------------------------------------------------------------------
def build_filter_menu(callback,fw):
myMenu = gtk.Menu()
for filter in _filter_list:
menuitem = gtk.MenuItem(filter[1])
for filter_obj in _filter_list:
menuitem = gtk.MenuItem(filter_obj[1])
myMenu.append(menuitem)
menuitem.set_data("filter",fw)
menuitem.set_data("name",filter[1])

View File

@ -60,7 +60,7 @@ from Utils import for_each_ancestor
def date_cmp(rule,value):
sd = rule.get_start_date()
s = sd.get_modifier()
val = s.get_start_date()
value = s.get_start_date()
if s == Date.MOD_BEFORE:
return rule > value
elif s == Date.MOD_AFTER:

View File

@ -26,7 +26,6 @@
#
#-------------------------------------------------------------------------
import os
import string
from gettext import gettext as _
#-------------------------------------------------------------------------

View File

@ -36,7 +36,7 @@ except ImportError:
import gnome.gconf
gconf = gnome.gconf
import gobject
import os
client = gconf.client_get_default()

View File

@ -72,9 +72,6 @@ class ImgManip:
def png_thumbnail(self,dest,width,height):
self.fmt_thumbnail(dest,width,height,"png")
def eps_thumbnail(self,dest,width,height):
self.fmt_thumbnail(dest,width,height,"eps")
def jpg_convert(self,dest):
self.fmt_convert(dest,"jpeg")
@ -90,17 +87,11 @@ class ImgManip:
def png_data(self):
return self.fmt_data("png")
def eps_data(self):
return self.fmt_data("eps")
def jpg_scale_data(self,x,y):
return self.fmt_scale_data(x,y,"jpeg")
def png_scale_data(self,x,y):
return self.fmt_scale_data(x,y,"png")
def eps_scale_data(self,x,y):
return self.fmt_scale_data(x,y,"eps")

View File

@ -29,7 +29,6 @@ Handles the place view for GRAMPS.
# GTK modules
#
#-------------------------------------------------------------------------
import gobject
import gtk
import gtk.gdk
@ -40,9 +39,7 @@ import gtk.gdk
#-------------------------------------------------------------------------
import RelLib
import EditPlace
import Utils
import DisplayModels
import ColumnOrder
import const
from QuestionDialog import QuestionDialog, ErrorDialog

View File

@ -460,13 +460,13 @@ def reload_plugins(obj):
# Plugin registering
#
#-------------------------------------------------------------------------
def register_export(exportData,_title,_description='',_config=None,_filename=''):
def register_export(exportData,title,description='',config=None,filename=''):
"""
Register an export filter, taking the task, file filter,
and the list of patterns for the filename matching.
"""
if _description and _filename:
_exports.append((exportData,_title,_description,_config,_filename))
if description and filename:
_exports.append((exportData,title,description,config,filename))
def register_import(task, ffilter, mime=None, native_format=0):
"""Register an import filter, taking the task and file filter"""

View File

@ -290,11 +290,11 @@ class GedcomParser:
self.error_count = 0
map = const.personalConstantAttributes
self.attrs = map.values()
amap = const.personalConstantAttributes
self.attrs = amap.values()
self.gedattr = {}
for val in map.keys():
self.gedattr[map[val]] = val
for val in amap.keys():
self.gedattr[amap[val]] = val
if self.window:
self.update(self.file_obj,os.path.basename(file))
@ -407,14 +407,12 @@ class GedcomParser:
return self.groups
def barf(self,level):
import traceback
msg = _("Warning: line %d was not understood, so it was ignored.") % self.index
self.errmsg(msg)
msg = "\n\t%s\n" % self.text
self.errmsg(msg)
self.error_count = self.error_count + 1
# self.errmsg(string.join(traceback.format_stack()))
self.ignore_sub_junk(level)
def warn(self,msg):
@ -559,9 +557,9 @@ class GedcomParser:
if self.indi_count % UPDATE == 0 and self.window:
self.update(self.people_obj,str(self.indi_count))
self.indi_count = self.indi_count + 1
id = matches[1]
id = id[1:-1]
self.person = self.find_or_create_person(self.map_gid(id))
gid = matches[1]
gid = gid[1:-1]
self.person = self.find_or_create_person(self.map_gid(gid))
self.added[self.person.get_handle()] = 1
self.parse_individual()
self.db.commit_person(self.person, self.trans)
@ -588,15 +586,15 @@ class GedcomParser:
else:
self.barf(1)
def map_gid(self,id):
if self.idswap.get(id):
return self.idswap[id]
def map_gid(self,gid):
if self.idswap.get(gid):
return self.idswap[gid]
else:
if self.db.id_trans.get(str(id)):
self.idswap[id] = self.db.find_next_gid()
if self.db.id_trans.get(str(gid)):
self.idswap[gid] = self.db.find_next_gid()
else:
self.idswap[id] = id
return self.idswap[id]
self.idswap[gid] = gid
return self.idswap[gid]
def find_or_create_person(self,gramps_id):
person = RelLib.Person()
@ -704,6 +702,7 @@ class GedcomParser:
pass
else:
self.barf(level+1)
return None
def parse_family(self):
self.addr = None
@ -715,27 +714,27 @@ class GedcomParser:
self.backup()
return
elif matches[1] == "HUSB":
id = matches[2]
person = self.find_or_create_person(self.map_gid(id[1:-1]))
gid = matches[2]
person = self.find_or_create_person(self.map_gid(gid[1:-1]))
self.family.set_father_handle(person.get_handle())
self.ignore_sub_junk(2)
elif matches[1] == "WIFE":
id = matches[2]
person = self.find_or_create_person(self.map_gid(id[1:-1]))
gid = matches[2]
person = self.find_or_create_person(self.map_gid(gid[1:-1]))
self.family.set_mother_handle(person.get_handle())
self.ignore_sub_junk(2)
elif matches[1] == "SLGS":
ord = RelLib.LdsOrd()
self.family.set_lds_sealing(ord)
self.parse_ord(ord,2)
lds_ord = RelLib.LdsOrd()
self.family.set_lds_sealing(lds_ord)
self.parse_ord(lds_ord,2)
elif matches[1] == "ADDR":
self.addr = RelLib.Address()
self.addr.set_street(matches[2] + self.parse_continue_data(1))
self.parse_address(self.addr,2)
elif matches[1] == "CHIL":
mrel,frel = self.parse_ftw_relations(2)
id = matches[2]
child = self.find_or_create_person(self.map_gid(id[1:-1]))
gid = matches[2]
child = self.find_or_create_person(self.map_gid(gid[1:-1]))
self.family.add_child_handle(child.get_handle())
for f in child.get_parent_family_handle_list():
@ -868,14 +867,14 @@ class GedcomParser:
else:
self.person.set_gender(RelLib.Person.female)
elif matches[1] in [ "BAPL", "ENDL", "SLGC" ]:
ord = RelLib.LdsOrd()
lds_ord = RelLib.LdsOrd()
if matches[1] == "BAPL":
self.person.set_lds_baptism(ord)
self.person.set_lds_baptism(lds_ord)
elif matches[1] == "ENDL":
self.person.set_lds_endowment(ord)
self.person.set_lds_endowment(lds_ord)
else:
self.person.set_lds_sealing(ord)
self.parse_ord(ord,2)
self.person.set_lds_sealing(lds_ord)
self.parse_ord(lds_ord,2)
elif matches[1] == "FAMS":
family = self.find_or_create_family(matches[2][1:-1])
self.person.add_family_handle(family.get_handle())
@ -885,14 +884,14 @@ class GedcomParser:
note = "%s\n\n%s" % (note,self.parse_optional_note(2))
self.db.commit_family(family, self.trans)
elif matches[1] == "FAMC":
type,note = self.parse_famc_type(2)
ftype,note = self.parse_famc_type(2)
family = self.find_or_create_family(matches[2][1:-1])
for f in self.person.get_parent_family_handle_list():
if f[0] == family.get_handle():
break
else:
if type == "" or type == "Birth":
if ftype == "" or ftype == "Birth":
if self.person.get_main_parents_family_handle() == None:
self.person.set_main_parent_family_handle(family.get_handle())
else:
@ -900,7 +899,7 @@ class GedcomParser:
else:
if self.person.get_main_parents_family_handle() == family.get_handle():
self.person.set_main_parent_family_handle(None)
self.person.add_parent_family_handle(family.get_handle(),type,type)
self.person.add_parent_family_handle(family.get_handle(),ftype,ftype)
self.db.commit_family(family, self.trans)
elif matches[1] == "RESI":
addr = RelLib.Address()
@ -1015,18 +1014,19 @@ class GedcomParser:
self.ignore_sub_junk(level+1)
else:
self.barf(level+1)
return None
def parse_famc_type(self,level):
type = ""
ftype = ""
note = ""
while 1:
matches = self.get_next()
if int(matches[0]) < level:
self.backup()
return (string.capitalize(type),note)
return (string.capitalize(ftype),note)
elif matches[1] == "PEDI":
type = matches[2]
ftype = matches[2]
elif matches[1] == "SOUR":
source_ref = self.handle_source(matches,level+1)
self.person.get_primary_name().add_source_reference(source_ref)
@ -1040,10 +1040,11 @@ class GedcomParser:
self.ignore_sub_junk(level+1)
else:
self.barf(level+1)
return None
def parse_person_object(self,level):
form = ""
file = ""
filename = ""
title = ""
note = ""
while 1:
@ -1053,7 +1054,7 @@ class GedcomParser:
elif matches[1] == "TITL":
title = matches[2]
elif matches[1] == "FILE":
file = matches[2]
filename = matches[2]
elif matches[1] == "NOTE":
note = matches[2] + self.parse_continue_data(level+1)
elif matches[1][0] == "_":
@ -1066,13 +1067,13 @@ class GedcomParser:
if form == "url":
url = RelLib.Url()
url.set_path(file)
url.set_path(filename)
url.set_description(title)
self.person.add_url(url)
else:
(ok,path) = self.find_file(file,self.dir_path)
(ok,path) = self.find_file(filename,self.dir_path)
if not ok:
self.warn(_("Warning: could not import %s") % file + "\n")
self.warn(_("Warning: could not import %s") % filename + "\n")
self.warn(_("\tThe following paths were tried:\n\t\t"))
self.warn(string.join(path,"\n\t\t"))
self.warn('\n')
@ -1089,7 +1090,7 @@ class GedcomParser:
def parse_family_object(self,level):
form = ""
file = ""
filename = ""
title = ""
note = ""
while 1:
@ -1099,7 +1100,7 @@ class GedcomParser:
elif matches[1] == "TITL":
title = matches[2]
elif matches[1] == "FILE":
file = matches[2]
filename = matches[2]
elif matches[1] == "NOTE":
note = matches[2] + self.parse_continue_data(level+1)
elif int(matches[0]) < level:
@ -1109,9 +1110,9 @@ class GedcomParser:
self.barf(level+1)
if form:
(ok,path) = self.find_file(file,self.dir_path)
(ok,path) = self.find_file(filename,self.dir_path)
if not ok:
self.warn(_("Warning: could not import %s") % file + "\n")
self.warn(_("Warning: could not import %s") % filename + "\n")
self.warn(_("\tThe following paths were tried:\n\t\t"))
self.warn(string.join(path,"\n\t\t"))
self.warn('\n')
@ -1185,7 +1186,7 @@ class GedcomParser:
else:
self.barf(level+1)
def parse_ord(self,ord,level):
def parse_ord(self,lds_ord,level):
note = ""
while 1:
matches = self.get_next()
@ -1195,28 +1196,27 @@ class GedcomParser:
elif matches[1] == "TEMP":
value = extract_temple(matches)
if value:
ord.set_temple(value)
lds_ord.set_temple(value)
elif matches[1] == "DATE":
ord.set_date_object(self.extract_date(matches[2]))
lds_ord.set_date_object(self.extract_date(matches[2]))
elif matches[1] == "FAMC":
ord.set_family_handle(self.find_or_create_family(matches[2][1:-1]))
lds_ord.set_family_handle(self.find_or_create_family(matches[2][1:-1]))
elif matches[1] == "PLAC":
try:
val = matches[2]
place = self.find_or_create_place(matches[2])
place.set_title(matches[2])
place_handle = place.get_handle()
ord.set_place_handle(place_handle)
lds_ord.set_place_handle(place_handle)
self.ignore_sub_junk(level+1)
except NameError:
pass
elif matches[1] == "SOUR":
ord.add_source_reference(self.handle_source(matches,level+1))
lds_ord.add_source_reference(self.handle_source(matches,level+1))
elif matches[1] == "NOTE":
note = self.parse_note(matches,ord,level+1,note)
note = self.parse_note(matches,lds_ord,level+1,note)
elif matches[1] == "STAT":
if const.lds_status.has_key(matches[2]):
ord.set_status(const.lds_status[matches[2]])
lds_ord.set_status(const.lds_status[matches[2]])
else:
self.barf(level+1)
@ -1349,7 +1349,8 @@ class GedcomParser:
frel = "Birth"
else:
self.barf(level+1)
return None
def parse_person_attr(self,attr,level):
note = ""
while 1:
@ -1486,7 +1487,8 @@ class GedcomParser:
note = matches[2] + self.parse_continue_data(level+1)
else:
self.barf(level+1)
return None
def parse_name(self,name,level):
"""Parses the person's name information"""
note = ""
@ -1655,7 +1657,8 @@ class GedcomParser:
return matches[2]
else:
self.barf(2)
return None
def parse_ftw_fam_schema(self,level):
while 1:
matches = self.get_next()
@ -1666,16 +1669,16 @@ class GedcomParser:
else:
label = self.parse_label(level+1)
ged2fam[matches[1]] = label
return None
def ignore_sub_junk(self,level):
while 1:
matches = self.get_next()
if int(matches[0]) < level:
self.backup()
return
return
def ignore_change_data(self,level):
matches = self.get_next()
if matches[1] == "CHAN":
@ -1692,7 +1695,7 @@ class GedcomParser:
return
elif matches[1] != "FORM":
self.barf(level+1)
def parse_continue_data(self,level):
data = ""
while 1:
@ -1711,7 +1714,8 @@ class GedcomParser:
else:
self.backup()
return data
return None
def parse_note_continue(self,level):
data = ""
while 1:
@ -1732,6 +1736,7 @@ class GedcomParser:
else:
self.backup()
return data
return None
def parse_date(self,level):
date = DateStruct()
@ -1745,6 +1750,7 @@ class GedcomParser:
date.time = matches[2]
else:
self.barf(level+1)
return None
def extract_date(self,text):
dateobj = Date.Date()
@ -1887,16 +1893,16 @@ def readData(database,active_person,cb):
gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,
gtk.RESPONSE_OK))
filter = gtk.FileFilter()
filter.set_name(_('GEDCOM files'))
filter.add_pattern('*.ged')
filter.add_pattern('*.GED')
choose.add_filter(filter)
mime_filter = gtk.FileFilter()
mime_filter.set_name(_('GEDCOM files'))
mime_filter.add_pattern('*.ged')
mime_filter.add_pattern('*.GED')
choose.add_filter(mime_filter)
filter = gtk.FileFilter()
filter.set_name(_('All files'))
filter.add_pattern('*')
choose.add_filter(filter)
mime_filter = gtk.FileFilter()
mime_filter.set_name(_('All files'))
mime_filter.add_pattern('*')
choose.add_filter(mime_filter)
response = choose.run()
if response == gtk.RESPONSE_OK:

View File

@ -31,7 +31,6 @@ import gtk
import shutil
import xml.parsers.expat
from gettext import gettext as _
import time
#-------------------------------------------------------------------------
#
@ -104,15 +103,14 @@ def importData(database, filename, callback=None,cl=0):
os._exit(1)
else:
ErrorDialog(_("%s could not be opened") % filename,str(msg))
return 0
return
except:
if cl:
print "Error: %s could not be opened. Exiting." % filename
os._exit(1)
else:
ErrorDialog(_("%s could not be opened") % filename)
return 0
return
try:
parser.parse(xml_file)
except IOError,msg:
@ -126,7 +124,7 @@ def importData(database, filename, callback=None,cl=0):
ErrorDialog(_("Error reading %s") % filename,str(msg))
import traceback
traceback.print_exc()
return 0
return
except xml.parsers.expat.ExpatError, msg:
if cl:
print "Error reading %s" % filename
@ -135,7 +133,7 @@ def importData(database, filename, callback=None,cl=0):
else:
ErrorDialog(_("Error reading %s") % filename,
_("The file is probably either corrupt or not a valid GRAMPS database."))
return 0
return
except:
if cl:
import traceback
@ -144,7 +142,7 @@ def importData(database, filename, callback=None,cl=0):
else:
import DisplayTrace
DisplayTrace.DisplayTrace()
return 0
return
xml_file.close()
@ -414,7 +412,6 @@ class GrampsParser:
"sauthor" : (None, self.stop_sauthor),
"sabbrev" : (None, self.stop_sabbrev),
"scomments" : (None, self.stop_scomments),
"sdate" : (None,self.stop_sdate),
"source" : (self.start_source, self.stop_source),
"sourceref" : (self.start_sourceref, self.stop_sourceref),
"sources" : (None, None),
@ -494,45 +491,45 @@ class GrampsParser:
self.gid2oid[gramps_id] = intid
return obj
def map_gid(self,id):
if not self.idswap.get(id):
if self.db.get_person_from_gramps_id(id):
self.idswap[id] = self.db.find_next_person_gramps_id()
def map_gid(self,handle):
if not self.idswap.get(handle):
if self.db.get_person_from_gramps_id(handle):
self.idswap[handle] = self.db.find_next_person_gramps_id()
else:
self.idswap[id] = id
return self.idswap[id]
self.idswap[handle] = handle
return self.idswap[handle]
def map_fid(self,id):
if not self.fidswap.get(id):
if self.db.get_family_from_gramps_id(id):
self.fidswap[id] = self.db.find_next_family_gramps_id()
def map_fid(self,handle):
if not self.fidswap.get(handle):
if self.db.get_family_from_gramps_id(handle):
self.fidswap[handle] = self.db.find_next_family_gramps_id()
else:
self.fidswap[id] = id
return self.fidswap[id]
self.fidswap[handle] = handle
return self.fidswap[handle]
def map_pid(self,id):
if not self.pidswap.get(id):
if self.db.get_place_from_gramps_id(id):
self.pidswap[id] = self.db.find_next_place_gramps_id()
def map_pid(self,handle):
if not self.pidswap.get(handle):
if self.db.get_place_from_gramps_id(handle):
self.pidswap[handle] = self.db.find_next_place_gramps_id()
else:
self.pidswap[id] = id
return self.pidswap[id]
self.pidswap[handle] = handle
return self.pidswap[handle]
def map_sid(self,id):
if not self.sidswap.get(id):
if self.db.get_source_from_gramps_id(id):
self.sidswap[id] = self.db.find_next_source_gramps_id()
def map_sid(self,handle):
if not self.sidswap.get(handle):
if self.db.get_source_from_gramps_id(handle):
self.sidswap[handle] = self.db.find_next_source_gramps_id()
else:
self.sidswap[id] = id
return self.sidswap[id]
self.sidswap[handle] = handle
return self.sidswap[handle]
def map_oid(self,id):
if not self.oidswap.get(id):
if self.db.get_object_from_gramps_id(id):
self.oidswap[id] = self.db.find_next_object_gramps_id()
def map_oid(self,handle):
if not self.oidswap.get(handle):
if self.db.get_object_from_gramps_id(handle):
self.oidswap[handle] = self.db.find_next_object_gramps_id()
else:
self.oidswap[id] = id
return self.oidswap[id]
self.oidswap[handle] = handle
return self.oidswap[handle]
def parse(self,file):
self.trans = self.db.transaction_begin()
@ -547,8 +544,8 @@ class GrampsParser:
person = self.db.find_person_from_handle(self.home,self.trans)
self.db.set_default_person_handle(person.get_handle())
if self.tempDefault != None:
id = self.map_gid(self.tempDefault)
person = self.find_person_by_gramps_id(id)
handle = self.map_gid(self.tempDefault)
person = self.find_person_by_gramps_id(handle)
if person:
self.db.set_default_person_handle(person.get_handle())
@ -560,17 +557,17 @@ class GrampsParser:
self.db.transaction_commit(self.trans,_("GRAMPS XML import"))
def start_lds_ord(self,attrs):
type = attrs['type']
atype = attrs['type']
self.ord = RelLib.LdsOrd()
if self.person:
if type == "baptism":
if atype == "baptism":
self.person.set_lds_baptism(self.ord)
elif type == "endowment":
elif atype == "endowment":
self.person.set_lds_endowment(self.ord)
elif type == "sealed_to_parents":
elif atype == "sealed_to_parents":
self.person.set_lds_sealing(self.ord)
elif self.family:
if type == "sealed_to_spouse":
if atype == "sealed_to_spouse":
self.family.set_lds_sealing(self.ord)
def start_temple(self,attrs):
@ -583,24 +580,24 @@ class GrampsParser:
try:
family = self.db.find_family_from_handle(attrs['hlink'],self.trans)
except KeyError:
id = self.map_fid(attrs['ref'])
family = self.find_family_by_gramps_id(id)
handle = self.map_fid(attrs['ref'])
family = self.find_family_by_gramps_id(handle)
self.ord.set_family_handle(family.get_handle())
def start_place(self,attrs):
try:
self.placeobj = self.db.find_place_from_handle(attrs['hlink'],self.trans)
except KeyError:
id = self.map_pid(attrs['ref'])
self.placeobj = self.find_place_by_gramps_id(id)
handle = self.map_pid(attrs['ref'])
self.placeobj = self.find_place_by_gramps_id(handle)
def start_placeobj(self,attrs):
id = self.map_pid(attrs['id'])
handle = self.map_pid(attrs['id'])
try:
self.placeobj = self.db.find_place_from_handle(attrs['handle'],self.trans)
self.placeobj.set_gramps_id(id)
self.placeobj.set_gramps_id(handle)
except KeyError:
self.placeobj = self.find_place_by_gramps_id(id)
self.placeobj = self.find_place_by_gramps_id(handle)
title = attrs['title']
if title == "":
title = attrs['id']
@ -700,8 +697,8 @@ class GrampsParser:
try:
person = self.db.find_person_from_handle(attrs['hlink'],self.trans)
except KeyError:
id = self.map_gid(attrs["ref"])
person = self.find_person_by_gramps_id(id)
handle = self.map_gid(attrs["ref"])
person = self.find_person_by_gramps_id(handle)
self.db.bookmarks.append(person.get_handle())
def start_person(self,attrs):
@ -773,12 +770,12 @@ class GrampsParser:
if self.callback != None and self.count % self.increment == 0:
self.callback(float(self.count)/float(self.entries))
self.count = self.count + 1
id = self.map_fid(attrs["id"])
handle = self.map_fid(attrs["id"])
try:
self.family = self.db.find_family_from_handle(attrs["handle"],self.trans)
self.family.set_gramps_id(id)
self.family.set_gramps_id(handle)
except KeyError:
self.family = self.find_family_by_gramps_id(id)
self.family = self.find_family_by_gramps_id(handle)
if attrs.has_key("type"):
self.family.set_relationship(_FAMILY_TRANS.get(attrs["type"],
@ -875,12 +872,12 @@ class GrampsParser:
self.person.add_source_reference(self.source_ref)
def start_source(self,attrs):
id = self.map_sid(attrs["id"])
handle = self.map_sid(attrs["id"])
try:
self.source = self.db.find_source_from_handle(attrs["handle"],self.trans)
self.source.set_gramps_id(id)
self.source.set_gramps_id(handle)
except KeyError:
self.source = self.find_source_by_gramps_id(id)
self.source = self.find_source_by_gramps_id(handle)
def start_objref(self,attrs):
self.objref = RelLib.MediaRef()
@ -889,9 +886,9 @@ class GrampsParser:
except KeyError:
obj = self.find_object_by_gramps_id(self.map_oid(attrs['ref']))
id = obj.get_handle()
handle = obj.get_handle()
self.objref.set_reference_handle(id)
self.objref.set_reference_handle(handle)
if attrs.has_key('priv'):
self.objref.set_privacy(int(attrs['priv']))
if self.event:
@ -906,12 +903,12 @@ class GrampsParser:
self.placeobj.add_media_reference(self.objref)
def start_object(self,attrs):
id = self.map_oid(attrs['id'])
handle = self.map_oid(attrs['id'])
try:
self.object = self.db.find_object_from_handle(attrs['handle'],self.trans)
self.object.set_gramps_id(id)
self.object.set_gramps_id(handle)
except KeyError:
self.object = self.find_object_by_gramps_id(id)
self.object = self.find_object_by_gramps_id(handle)
self.object.set_mime_type(attrs['mime'])
self.object.set_description(attrs['description'])
src = attrs["src"]
@ -1214,11 +1211,6 @@ class GrampsParser:
def stop_sauthor(self,tag):
self.source.set_author(tag)
def stop_sdate(self,tag):
date = Date.Date()
date.set(tag)
self.source_ref.set_date(date)
def stop_phone(self,tag):
self.address.set_phone(tag)

View File

@ -45,7 +45,6 @@ import RelLib
import const
import Utils
import PeopleModel
from RelLib import Person
from QuestionDialog import ErrorDialog
#-------------------------------------------------------------------------
@ -275,9 +274,9 @@ class SelectChild:
if not idlist or not idlist[0]:
return
id = idlist[0]
select_child = self.db.get_person_from_handle(id)
if self.person.get_handle() == id:
handle = idlist[0]
select_child = self.db.get_person_from_handle(handle)
if self.person.get_handle() == handle:
ErrorDialog(_("Error selecting a child"),
_("A person cannot be linked as his/her own child"),
self.top)
@ -294,7 +293,7 @@ class SelectChild:
else:
self.family.set_mother_handle(self.person)
if id in (self.family.get_father_handle(),self.family.get_mother_handle()):
if handle in (self.family.get_father_handle(),self.family.get_mother_handle()):
ErrorDialog(_("Error selecting a child"),
_("A person cannot be linked as his/her own child"),
self.top)
@ -310,7 +309,7 @@ class SelectChild:
frel = const.child_relations.find_value(self.frel.get_text())
father = self.db.get_person_from_handle(self.family.get_father_handle())
if father and father.get_gender() !=RelLib. Person.male:
if father and father.get_gender() !=RelLib.Person.male:
if frel == "Birth":
frel = "Unknown"
@ -328,7 +327,7 @@ class SelectChild:
self.redraw_child_list(not obj.get_active())
def north_american(self,val):
if self.person.get_gender() == Person.male:
if self.person.get_gender() == RelLib.Person.male:
return self.person.get_primary_name().get_surname()
elif self.family:
f = self.family.get_father_handle()
@ -359,7 +358,7 @@ class SelectChild:
def icelandic(self,val):
fname = ""
if self.person.get_gender() == Person.male:
if self.person.get_gender() == RelLib.Person.male:
fname = self.person.get_primary_name().get_first_name()
elif self.family:
f = self.family.get_father_handle()
@ -446,7 +445,7 @@ class EditRel:
frel = const.child_relations.find_value(self.fentry.get_text())
father = self.db.get_person_from_handle(self.family.get_father_handle())
if father and father.get_gender() !=RelLib. Person.male:
if father and father.get_gender() !=RelLib.Person.male:
if frel == "Birth":
frel = "Unknown"

View File

@ -30,7 +30,6 @@
# general modules
#
#-------------------------------------------------------------------------
import string
import os
#-------------------------------------------------------------------------
@ -55,7 +54,6 @@ import gtk.gdk
# gramps modules
#
#-------------------------------------------------------------------------
import RelLib
import const
import Utils
import ListModel
@ -101,7 +99,6 @@ class SelectObject:
for key in self.db.get_media_object_handles():
obj = self.db.get_object_from_handle(key)
title = obj.get_description()
handle = obj.get_handle()
the_type = Utils.get_mime_description(obj.get_mime_type())
path = obj.get_path()
self.object_model.add([title,obj.get_gramps_id(),the_type,path],key)

View File

@ -41,7 +41,6 @@ import gtk.glade
# gramps modules
#
#-------------------------------------------------------------------------
import RelLib
import const
import Utils
import PeopleModel

View File

@ -93,7 +93,7 @@ class Sort:
else:
date2 = Date.Date()
val = Date.compare_dates(date1,date2)
val = date1.is_equal(date2)
if val == 0:
return self.by_last_name(first_id,second_id)
return val

View File

@ -25,7 +25,6 @@
# GTK/Gnome modules
#
#-------------------------------------------------------------------------
import gobject
import gtk
import gtk.gdk
@ -36,7 +35,6 @@ import gtk.gdk
#-------------------------------------------------------------------------
import RelLib
import EditSource
import Utils
import DisplayModels
import const

View File

@ -508,7 +508,7 @@ def roman(num):
rnum = romans[num]
return rnum
else:
return
return '?'
#-------------------------------------------------------------------------
#

View File

@ -25,7 +25,6 @@
# GTK/Gnome modules
#
#-------------------------------------------------------------------------
import gobject
import gtk
import gtk.glade
import gnome
@ -89,8 +88,8 @@ class WitnessTab:
self.parent.lists_changed = 1
def edit_clicked(self,obj):
store,iter = self.selection.get_selected()
if iter:
store,node = self.selection.get_selected()
if node:
objs = self.model.get_selected_objects()
src = objs[0]
WitnessEditor(src,self.db,self,self.update_clist,self.window)
@ -104,9 +103,9 @@ class WitnessTab:
inst.redraw()
def del_clicked(self,obj):
(store,iter) = self.selection.get_selected()
if iter:
path = store.get_path(iter)
(store,node) = self.selection.get_selected()
if node:
path = store.get_path(node)
del self.list[path[0]]
self.redraw()

View File

@ -38,7 +38,6 @@ import re
#-------------------------------------------------------------------------
import gtk
import gtk.glade
import gnome
#-------------------------------------------------------------------------
#
@ -48,7 +47,6 @@ import gnome
import RelLib
import GenericFilter
import const
import Utils
import Date
import GedcomInfo
import Errors
@ -56,8 +54,6 @@ import ansel_utf8
from gettext import gettext as _
from QuestionDialog import ErrorDialog
_title_string = _("Export to GEDCOM")
def keep_utf8(s):
return s
@ -614,35 +610,23 @@ class GedcomWriter:
sorted = []
for key in pkeys:
person = self.db.get_person_from_handle (key)
tuple = (person.get_gramps_id (), person)
sorted.append (tuple)
data = (person.get_gramps_id (), person)
sorted.append (data)
sorted.sort()
nump = float(len(self.plist))
index = 0.0
for (gramps_id, person) in sorted:
self.write_person(person)
index = index + 1
#if index%100 == 0 and not self.cl:
# self.pbar.set_fraction(index/nump)
# while(gtk.events_pending()):
# gtk.mainiteration()
# if not self.cl:
# self.pbar.set_fraction(1.0)
self.write_families()
if self.source_refs:
self.write_sources()
#else:
# if not self.cl:
# self.sbar.set_fraction(1.0)
self.writeln("0 TRLR")
self.g.close()
return 1
def write_copy(self):
import time
t = time.localtime(time.time())
y = t[0]
@ -654,8 +638,6 @@ class GedcomWriter:
self.writeln('1 COPR Copyright (c) %d %s. See additional copyright NOTE below.' % (y,o))
def gnu_fdl(self):
import time
if self.copy != 1:
return
@ -673,13 +655,11 @@ class GedcomWriter:
pass
def write_families(self):
nump = float(len(self.flist))
index = 0.0
sorted = []
for family_handle in self.flist.keys ():
family = self.db.get_family_from_handle(family_handle)
tuple = (self.fid (family_handle), family_handle, family)
sorted.append (tuple)
data = (self.fid (family_handle), family_handle, family)
sorted.append (data)
sorted.sort ()
for (gramps_id, family_handle, family) in sorted:
father_alive = mother_alive = 0
@ -745,22 +725,13 @@ class GedcomWriter:
self.write_change(1,family.get_change_time())
# index = index + 1
# if index % 100 == 0 and not self.cl:
# self.fbar.set_fraction(index/nump)
# while(gtk.events_pending()):
# gtk.mainiteration()
#if not self.cl:
# self.fbar.set_fraction(1.0)
def write_sources(self):
nump = float(len(self.slist))
index = 0.0
sorted = []
for key in self.slist.keys():
source = self.db.get_source_from_handle(key)
tuple = (self.sid (source.get_gramps_id ()), source)
sorted.append (tuple)
data = (self.sid (source.get_gramps_id ()), source)
sorted.append (data)
sorted.sort ()
for (source_id, source) in sorted:
self.writeln("0 @%s@ SOUR" % source_id)
@ -777,13 +748,6 @@ class GedcomWriter:
index = index + 1
self.write_change(1,source.get_change_time())
# if index % 100 == 0 and not self.cl:
# self.sbar.set_fraction(index/nump)
# while(gtk.events_pending()):
# gtk.mainiteration()
# if not self.cl:
# self.sbar.set_fraction(1.0)
def write_person(self,person):
self.writeln("0 @%s@ INDI" % person.get_gramps_id())
restricted = self.restrict and person.probably_alive (self.db)
@ -975,7 +939,7 @@ class GedcomWriter:
dest = os.path.join (dirname, basename)
try:
os.link (path, dest)
except OSError, e:
except OSError:
file (dest,
"wb").writelines (file (path,
"rb").xreadlines ())
@ -1009,7 +973,6 @@ class GedcomWriter:
def write_change(self,level,timeval):
tval = time.localtime(timeval)
self.writeln('%d CHAN' % level)
time_val = time.localtime(timeval)
self.writeln('%d DATE %d %s %d' % (level + 1,time_val[2],

View File

@ -245,8 +245,8 @@ class XmlWriter:
sorted_keys = []
for key in keys:
person = self.db.get_person_from_handle (key)
tuple = (person.get_gramps_id (), person)
sorted_keys.append (tuple)
value = (person.get_gramps_id (), person)
sorted_keys.append (value)
sorted_keys.sort ()
for (gramps_id, person) in sorted_keys:
@ -330,8 +330,8 @@ class XmlWriter:
sorted_keys = []
for key in keys:
family = self.db.get_family_from_handle(key)
tuple = (family.get_gramps_id (), family)
sorted_keys.append (tuple)
value = (family.get_gramps_id (), family)
sorted_keys.append (value)
sorted_keys.sort ()
for (gramps_id, family) in sorted_keys:
@ -409,8 +409,8 @@ class XmlWriter:
sorted_keys = []
for key in keys:
obj = self.db.get_object_from_handle (key)
tuple = (obj.get_gramps_id (), obj)
sorted_keys.append (tuple)
value = (obj.get_gramps_id (), obj)
sorted_keys.append (value)
sorted_keys.sort ()
for (gramps_id, obj) in sorted_keys:
@ -714,7 +714,7 @@ class XmlWriter:
state = self.fix(loc.get_state())
country = self.fix(loc.get_country())
county = self.fix(loc.get_county())
zip = self.fix(loc.get_postal_code())
zip_code = self.fix(loc.get_postal_code())
phone = self.fix(loc.get_phone())
self.g.write(' <location')
@ -728,8 +728,8 @@ class XmlWriter:
self.g.write(' state="%s"' % state)
if country:
self.g.write(' country="%s"' % country)
if zip:
self.g.write(' postal="%s"' % zip)
if zip_code:
self.g.write(' postal="%s"' % zip_code)
if phone:
self.g.write(' phone="%s"' % phone)
self.g.write('/>\n')
@ -781,9 +781,9 @@ class XmlWriter:
def write_place_obj(self,place):
title = self.fix(place.get_title())
long = self.fix(place.get_longitude())
longitude = self.fix(place.get_longitude())
lat = self.fix(place.get_latitude())
id = place.get_gramps_id()
handle = place.get_gramps_id()
main_loc = place.get_main_location()
llen = len(place.get_alternate_locations()) + len(place.get_url_list()) + \
len(place.get_media_list()) + len(place.get_source_references())
@ -795,16 +795,16 @@ class XmlWriter:
title = self.fix(self.build_place_title(place.get_main_location()))
self.g.write(' <placeobj id="%s" handle="%s" change="%d" title="%s"' %
(id,place.get_handle(),place.get_change_time(),title))
(handle,place.get_handle(),place.get_change_time(),title))
if long or lat or not ml_empty or llen > 0 or note:
if longitude or lat or not ml_empty or llen > 0 or note:
self.g.write('>\n')
else:
self.g.write('/>\n')
return
if long or lat:
self.g.write(' <coord long="%s" lat="%s"/>\n' % (long,lat))
if longitude or lat:
self.g.write(' <coord long="%s" lat="%s"/>\n' % (longitude,lat))
self.dump_location(main_loc)
for loc in place.get_alternate_locations():
@ -818,7 +818,7 @@ class XmlWriter:
self.g.write(" </placeobj>\n")
def write_object(self,obj):
id = obj.get_gramps_id()
handle = obj.get_gramps_id()
mime_type = obj.get_mime_type()
path = obj.get_path()
if self.strip_photos:
@ -829,7 +829,7 @@ class XmlWriter:
if self.fileroot == path[0:l]:
path = path[l+1:]
self.g.write(' <object id="%s" handle="%s" change="%d" src="%s" mime="%s"' %
(id,obj.get_handle(),obj.get_change_time(),path,mime_type))
(handle,obj.get_handle(),obj.get_change_time(),path,mime_type))
self.g.write(' description="%s"' % self.fix(obj.get_description()))
alist = obj.get_attribute_list()
note = obj.get_note()

View File

@ -53,7 +53,6 @@ import gtk.gdk
#-------------------------------------------------------------------------
import RelLib
import GrampsBSDDB
import GrampsXMLDB
import PedView
import MediaView
import PlaceView
@ -61,7 +60,6 @@ import FamilyView
import SourceView
import PeopleView
import GenericFilter
import GrampsMime
import DisplayTrace
import const
import Plugins
@ -756,8 +754,6 @@ class Gramps:
self.toolbardock.hide()
def build_plugin_menus(self):
export_menu = self.gtop.get_widget("export1")
import_menu = self.gtop.get_widget("import1")
self.report_menu = self.gtop.get_widget("reports_menu")
self.tools_menu = self.gtop.get_widget("tools_menu")
@ -848,19 +844,6 @@ class Gramps:
self.db.close()
gtk.main_quit()
def save_query(self):
"""Catch the reponse to the save on exit question"""
self.on_save_activate_quit()
self.delete_abandoned_photos()
self.db.close()
gtk.main_quit()
def save_query_noquit(self):
"""Catch the reponse to the save question, no quitting"""
self.on_save_activate_quit()
self.delete_abandoned_photos()
self.db.close()
def quit(self):
"""Catch the reponse to the save on exit question"""
self.delete_abandoned_photos()
@ -969,15 +952,6 @@ class Gramps:
if self.active_person:
Plugins.ReportPlugins(self,self.db,self.active_person)
def on_help_dbopen_clicked(self,obj):
"""Display the relevant portion of GRAMPS manual"""
try:
gnome.help_display('gramps-manual','open-db')
except gobject.GError, msg:
ErrorDialog(_("Could not open help"),
str(msg))
self.dbopen_button = self.dbopen_fs.run()
def read_gedcom(self,filename):
import ReadGedcom
@ -1044,7 +1018,6 @@ class Gramps:
def read_file(self,filename):
self.topWindow.set_resizable(gtk.FALSE)
filename = os.path.normpath(os.path.abspath(filename))
new_db = 0
if os.path.isdir(filename):
ErrorDialog(_('Cannot open database'),
@ -1062,8 +1035,6 @@ class Gramps:
_('You do not have write access to the selected '
'file.'))
return 0
else:
new_db = 1
try:
if self.load_database(filename) == 1:
@ -1138,28 +1109,28 @@ class Gramps:
gtk.STOCK_OPEN,
gtk.RESPONSE_OK))
filter = gtk.FileFilter()
filter.set_name(_('All files'))
filter.add_pattern('*')
choose.add_filter(filter)
mime_filter = gtk.FileFilter()
mime_filter.set_name(_('All files'))
mime_filter.add_pattern('*')
choose.add_filter(mime_filter)
response = choose.run()
if response == gtk.RESPONSE_OK:
name = choose.get_filename()
if os.path.isfile(name):
RelImage.import_media_object(name,filename,base)
object = self.db.get_object_from_handle(ObjectId)
object.set_path(name)
obj = self.db.get_object_from_handle(ObjectId)
obj.set_path(name)
choose.destroy()
#-------------------------------------------------------------------------
for ObjectId in self.db.get_media_object_handles():
object = self.db.get_object_from_handle(ObjectId)
obj = self.db.get_object_from_handle(ObjectId)
if 0:
oldfile = object.get_path()
oldfile = obj.get_path()
(base,ext) = os.path.splitext(os.path.basename(oldfile))
newfile = os.path.join(filename,os.path.basename(oldfile))
object.set_path(newfile)
obj.set_path(newfile)
if os.path.isfile(oldfile):
RelImage.import_media_object(oldfile,filename,base)
else:
@ -1266,12 +1237,12 @@ class Gramps:
family.remove_child_handle(self.active_person.get_handle())
self.db.commit_family(family,trans)
id = self.active_person.get_handle()
handle = self.active_person.get_handle()
person = self.active_person
self.people_view.remove_from_person_list(person)
self.people_view.remove_from_history(id)
self.db.remove_person(id, trans)
self.people_view.remove_from_history(handle)
self.db.remove_person(handle, trans)
self.people_view.delete_person(person)
self.people_view.person_model.rebuild_data()
@ -1358,10 +1329,10 @@ class Gramps:
return _("%(relationship)s of %(person)s") % {
'relationship' : name, 'person' : pname }
else:
return ""
return u""
except:
DisplayTrace.DisplayTrace()
return ""
return u""
def on_open_activate(self,obj):
prompter = DbPrompter.ExistingDbPrompter(self,self.topWindow)
@ -1442,8 +1413,8 @@ class Gramps:
self.people_view.apply_filter_clicked()
def on_filter_name_changed(self,obj):
filter = obj.get_menu().get_active().get_data('filter')
qual = filter.need_param
mime_filter = obj.get_menu().get_active().get_data('filter')
qual = mime_filter.need_param
if qual:
self.filter_text.show()
self.filter_text.set_sensitive(1)