2007-02-19 Don Allingham <don@gramps-project.org>
* src/DataViews/_NoteView.py: Display data and columns * src/RelLib/__init__.py: import NoteType * src/DisplayModels/_NoteModel.py: Display data and columns * src/GrampsDbUtils/_GedcomParse.py: note import improvements svn: r8186
This commit is contained in:
parent
0a2d871480
commit
ad36ca1d56
@ -1,3 +1,9 @@
|
||||
2007-02-19 Don Allingham <don@gramps-project.org>
|
||||
* src/DataViews/_NoteView.py: Display data and columns
|
||||
* src/RelLib/__init__.py: import NoteType
|
||||
* src/DisplayModels/_NoteModel.py: Display data and columns
|
||||
* src/GrampsDbUtils/_GedcomParse.py: note import improvements
|
||||
|
||||
2007-02-19 Brian Matherly <brian@gramps-project.org>
|
||||
* src/plugins/DescendChart.py: include blank pages option
|
||||
* src/plugins/AncestorChart2.py: include blank pages option
|
||||
|
@ -58,6 +58,7 @@ from gettext import gettext as _
|
||||
|
||||
column_names = [
|
||||
_('ID'),
|
||||
_('Type'),
|
||||
_('Preview'),
|
||||
]
|
||||
|
||||
@ -76,10 +77,10 @@ class NoteView(PageView.ListView):
|
||||
def __init__(self, dbstate, uistate):
|
||||
|
||||
signal_map = {
|
||||
# 'place-add' : self.row_add,
|
||||
# 'place-update' : self.row_update,
|
||||
# 'place-delete' : self.row_delete,
|
||||
# 'place-rebuild' : self.build_tree,
|
||||
'note-add' : self.row_add,
|
||||
'note-update' : self.row_update,
|
||||
'note-delete' : self.row_delete,
|
||||
'note-rebuild' : self.build_tree,
|
||||
}
|
||||
|
||||
self.func_list = {
|
||||
@ -123,11 +124,10 @@ class NoteView(PageView.ListView):
|
||||
|
||||
def set_column_order(self, clist):
|
||||
#self.dbstate.db.set_place_column_order(clist)
|
||||
print "build_columns"
|
||||
self.build_columns()
|
||||
|
||||
def column_order(self):
|
||||
return [(1, 0, 100), (1, 1, 100)]
|
||||
return [(1, 0, 100), (1, 1, 100), (1, 2, 100)]
|
||||
|
||||
def get_stock(self):
|
||||
return 'gramps-notes'
|
||||
@ -166,7 +166,7 @@ class NoteView(PageView.ListView):
|
||||
|
||||
def on_double_click(self, obj, event):
|
||||
handle = self.first_selected()
|
||||
#place = self.dbstate.db.get_place_from_handle(handle)
|
||||
note = self.dbstate.db.get_note_from_handle(handle)
|
||||
try:
|
||||
#EditPlace(self.dbstate, self.uistate, [], place)
|
||||
print handle
|
||||
@ -222,7 +222,7 @@ class NoteView(PageView.ListView):
|
||||
self.selection.selected_foreach(self.blist, mlist)
|
||||
|
||||
for handle in mlist:
|
||||
#place = self.dbstate.db.get_place_from_handle(handle)
|
||||
note = self.dbstate.db.get_note_from_handle(handle)
|
||||
try:
|
||||
#EditPlace(self.dbstate, self.uistate, [], place)
|
||||
print handle
|
||||
@ -230,9 +230,8 @@ class NoteView(PageView.ListView):
|
||||
pass
|
||||
|
||||
def get_handle_from_gramps_id(self, gid):
|
||||
print None
|
||||
# obj = self.dbstate.db.get_place_from_gramps_id(gid)
|
||||
# if obj:
|
||||
# return obj.get_handle()
|
||||
# else:
|
||||
# return None
|
||||
obj = self.dbstate.db.get_note_from_gramps_id(gid)
|
||||
if obj:
|
||||
return obj.get_handle()
|
||||
else:
|
||||
return None
|
||||
|
@ -44,6 +44,7 @@ import const
|
||||
import ToolTips
|
||||
import GrampsLocale
|
||||
from _BaseModel import BaseModel
|
||||
import RelLib
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -56,15 +57,17 @@ class NoteModel(BaseModel):
|
||||
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None,
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_place_cursor
|
||||
self.map = db.get_raw_place_data
|
||||
self.gen_cursor = db.get_note_cursor
|
||||
self.map = db.get_raw_note_data
|
||||
self.fmap = [
|
||||
self.column_id,
|
||||
self.column_type,
|
||||
self.column_preview,
|
||||
self.column_handle,
|
||||
]
|
||||
self.smap = [
|
||||
self.column_id,
|
||||
self.column_type,
|
||||
self.column_preview,
|
||||
self.column_handle,
|
||||
]
|
||||
@ -75,19 +78,20 @@ class NoteModel(BaseModel):
|
||||
return len(self.fmap)+1
|
||||
|
||||
def column_handle(self,data):
|
||||
return "<Place Holder>"
|
||||
return data[0]
|
||||
|
||||
def column_id(self,data):
|
||||
return "<Place Holder>"
|
||||
return unicode(data[1])
|
||||
|
||||
def column_type(self,data):
|
||||
temp = RelLib.NoteType()
|
||||
temp.set(data[4])
|
||||
return unicode(str(temp))
|
||||
|
||||
def column_preview(self,data):
|
||||
return "<Place Holder>"
|
||||
note = " ".join(data[2].split())
|
||||
if len(note) > 80:
|
||||
return note[:80]+"..."
|
||||
else:
|
||||
return note
|
||||
|
||||
def sort_change(self,data):
|
||||
return "<Place Holder>"
|
||||
|
||||
def column_change(self,data):
|
||||
return "<Place Holder>"
|
||||
|
||||
def column_tooltip(self,data):
|
||||
return ''
|
||||
|
@ -1643,7 +1643,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.person, 1, state.note)
|
||||
self.parse_note(line, state.person, 1)
|
||||
|
||||
def func_person_rnote(self, line, state):
|
||||
"""
|
||||
@ -1654,7 +1654,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.person, 1, state.note)
|
||||
self.parse_note(line, state.person, 1)
|
||||
|
||||
def func_person_addr(self, line, state):
|
||||
"""
|
||||
@ -1735,8 +1735,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.add_to_note(self.parse_note(line, state.name,
|
||||
state.level+1, state.note))
|
||||
self.parse_note(line, state.name, state.level+1)
|
||||
|
||||
def func_name_alia(self, line, state):
|
||||
"""
|
||||
@ -1964,7 +1963,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.addr, state.level+1, '')
|
||||
self.parse_note(line, state.addr, state.level+1)
|
||||
|
||||
def func_ignore(self, line, state):
|
||||
"""
|
||||
@ -2149,7 +2148,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.lds_ord, state.level+1, '')
|
||||
self.parse_note(line, state.lds_ord, state.level+1)
|
||||
|
||||
def func_lds_stat(self, line, state):
|
||||
"""
|
||||
@ -2245,10 +2244,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
if not line.data.strip() or line.data and line.data[0] != "@":
|
||||
self.parse_note_data(state.level+1)
|
||||
else:
|
||||
self.skip_subordinate_levels(state.level+1)
|
||||
self.parse_note(line, state.person, state.level+1)
|
||||
|
||||
def func_person_famc_primary(self, line, state):
|
||||
"""
|
||||
@ -2291,7 +2287,7 @@ class GedcomParser(UpdateCallback):
|
||||
"""
|
||||
handle = self.find_family_handle(self.fid_map[line.data])
|
||||
state.person.add_family_handle(handle)
|
||||
state.add_to_note(self.parse_optional_note(2))
|
||||
self.parse_optional_note(self.person, 2)
|
||||
|
||||
def func_person_asso(self, line, state):
|
||||
"""
|
||||
@ -2380,8 +2376,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_note(line, state.ref, state.level, "")
|
||||
state.ref.add_note(note)
|
||||
self.parse_note(line, state.ref, state.level)
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
#
|
||||
@ -2687,7 +2682,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.family, state.level, '')
|
||||
self.parse_note(line, state.family, state.level)
|
||||
|
||||
def func_family_chan(self, line, state):
|
||||
"""
|
||||
@ -2932,8 +2927,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_note(line, state.place, state.level+1, '')
|
||||
state.place.add_note(note)
|
||||
self.parse_note(line, state.place, state.level+1)
|
||||
|
||||
def func_event_place_form(self, line, state):
|
||||
"""
|
||||
@ -2973,7 +2967,6 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
print ">>>>", line
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_street(line.data)
|
||||
state.note = None
|
||||
@ -3022,7 +3015,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.event, state.level+1,'')
|
||||
self.parse_note(line, state.event, state.level+1)
|
||||
|
||||
def func_event_source(self, line, state):
|
||||
"""
|
||||
@ -3286,7 +3279,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
self.parse_note(line, state.addr, state.level+1, '')
|
||||
self.parse_note(line, state.addr, state.level+1)
|
||||
|
||||
def func_srcref_page(self, line, state):
|
||||
"""
|
||||
@ -3383,8 +3376,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_comment(line, state.src_ref, state.level+1, '')
|
||||
state.src_ref.add_note(note)
|
||||
self.parse_note(line, state.src_ref, state.level+1)
|
||||
|
||||
def func_srcref_text(self, line, state):
|
||||
"""
|
||||
@ -3513,8 +3505,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_note(line, state.repo_ref, state.level+1, "")
|
||||
state.repo_ref.set_note(note)
|
||||
self.parse_note(line, state.repo_ref, state.level+1)
|
||||
|
||||
def func_source_abbr(self, line, state):
|
||||
"""
|
||||
@ -3544,7 +3535,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.source.set_note(line.data)
|
||||
state.source.add_note(line.data)
|
||||
|
||||
def func_source_note(self, line, state):
|
||||
"""
|
||||
@ -3553,8 +3544,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_note(line, state.source, state.level+1, '')
|
||||
state.source.set_note(note)
|
||||
self.parse_note(line, state.source, state.level+1)
|
||||
|
||||
def func_source_auth(self, line, state):
|
||||
"""
|
||||
@ -3672,8 +3662,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
note = self.parse_note(line, state.media, state.level+1, '')
|
||||
state.media.set_note(note)
|
||||
self.parse_note(line, state.media, state.level+1)
|
||||
|
||||
def func_obje_blob(self, line, state):
|
||||
"""
|
||||
@ -3766,8 +3755,7 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
info = self.parse_note(line, state.attr, state.level+1, '')
|
||||
state.attr.set_note(info)
|
||||
self.parse_note(line, state.attr, state.level+1)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
@ -3868,7 +3856,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
val = state.location.get_street()
|
||||
if val:
|
||||
val = "%s, %s" % (val, line.data.strip())
|
||||
@ -3883,7 +3872,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_date_object(line.data)
|
||||
|
||||
def func_location_city(self, line, state):
|
||||
@ -3893,7 +3883,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_city(line.data)
|
||||
|
||||
def func_location_stae(self, line, state):
|
||||
@ -3903,7 +3894,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_state(line.data)
|
||||
|
||||
def func_location_post(self, line, state):
|
||||
@ -3913,7 +3905,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_postal_code(line.data)
|
||||
|
||||
def func_location_ctry(self, line, state):
|
||||
@ -3923,7 +3916,8 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
state.location.set_country(line.data)
|
||||
|
||||
def func_location_note(self, line, state):
|
||||
@ -3933,60 +3927,26 @@ class GedcomParser(UpdateCallback):
|
||||
@param state: The current state
|
||||
@type state: CurrentState
|
||||
"""
|
||||
state.location = RelLib.Location()
|
||||
state.note = self.parse_note_simple(line, state.level+1)
|
||||
if not state.location:
|
||||
state.location = RelLib.Location()
|
||||
self.parse_note(line, state.location, state.level+1)
|
||||
|
||||
###############################################################################
|
||||
|
||||
def parse_note_data(self, level):
|
||||
while True:
|
||||
line = self.get_next()
|
||||
if self.level_is_finished(line, level):
|
||||
break
|
||||
elif line.token in (TOKEN_SOUR, TOKEN_CHAN, TOKEN_REFN,
|
||||
TOKEN_IGNORE):
|
||||
self.skip_subordinate_levels(level+1)
|
||||
elif line.token == TOKEN_RIN:
|
||||
continue
|
||||
else:
|
||||
self.not_recognized(level+1)
|
||||
|
||||
def parse_note_base(self, line, obj, level, old_note, task):
|
||||
def parse_note(self, line, obj, level):
|
||||
# reference to a named note defined elsewhere
|
||||
print line
|
||||
if line.token == TOKEN_RNOTE:
|
||||
note_obj = self.note_map.get(line.data)
|
||||
if note_obj:
|
||||
new_note = note_obj.get()
|
||||
else:
|
||||
new_note = u""
|
||||
obj.add_note(line.data.strip())
|
||||
else:
|
||||
new_note = line.data
|
||||
new_note = Note(line.data)
|
||||
self.dbase.commit_note(new_note,self.trans)
|
||||
obj.add_note(new_note.handle)
|
||||
self.skip_subordinate_levels(level+1)
|
||||
if old_note:
|
||||
note = u"%s\n%s" % (old_note, line.data)
|
||||
else:
|
||||
note = new_note
|
||||
task(note)
|
||||
return note
|
||||
|
||||
def parse_note_simple(self, line, level):
|
||||
# reference to a named note defined elsewhere
|
||||
if line.data and line.data[0] == "@":
|
||||
note_obj = self.note_map.get(line.data)
|
||||
note = note_obj.get()
|
||||
else:
|
||||
note = line.data
|
||||
self.skip_subordinate_levels(level+1)
|
||||
return note
|
||||
|
||||
def parse_note(self, line, obj, level, old_note):
|
||||
return self.parse_note_base(line, obj, level, old_note, obj.set_note)
|
||||
|
||||
def parse_comment(self, line, obj, level, old_note):
|
||||
return self.parse_note_base(line, obj, level, old_note, obj.set_note)
|
||||
|
||||
def parse_optional_note(self, level):
|
||||
def parse_optional_note(self, obj, level):
|
||||
note = ""
|
||||
while True:
|
||||
line = self.get_next()
|
||||
@ -3994,11 +3954,7 @@ class GedcomParser(UpdateCallback):
|
||||
if self.level_is_finished(line, level):
|
||||
return note
|
||||
elif line.token == TOKEN_NOTE:
|
||||
if not line.data.strip() or line.data and line.data[0] != "@":
|
||||
note = line.data
|
||||
self.parse_note_data(level+1)
|
||||
else:
|
||||
self.skip_subordinate_levels(level+1)
|
||||
self.parse_note(line, obj, level)
|
||||
else:
|
||||
self.not_recognized(level+1)
|
||||
return None
|
||||
|
@ -72,3 +72,4 @@ from _FamilyRelType import FamilyRelType
|
||||
from _SourceMediaType import SourceMediaType
|
||||
from _EventRoleType import EventRoleType
|
||||
from _MarkerType import MarkerType
|
||||
from _NoteType import NoteType
|
||||
|
Loading…
Reference in New Issue
Block a user