* src/GrampsDb/_GrampsBSDDB.py: Remove unused methods; remove
unused secondary tables; add more custom type holders. * src/GrampsDb/_GrampsDbBase.py (GrampsDbBase.__init__): Add more custom type holders. (XmlWriter.write_xml_data): Do not export name groups. svn: r6718
This commit is contained in:
@@ -1,4 +1,8 @@
|
|||||||
2006-05-18 Alex Roitman <shura@gramps-project.org>
|
2006-05-18 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/GrampsDb/_GrampsBSDDB.py: Remove unused methods; remove
|
||||||
|
unused secondary tables; add more custom type holders.
|
||||||
|
* src/GrampsDb/_GrampsDbBase.py (GrampsDbBase.__init__): Add more
|
||||||
|
custom type holders.
|
||||||
* src/DisplayTabs/_BackRefList.py (edit_button_clicked): Typo.
|
* src/DisplayTabs/_BackRefList.py (edit_button_clicked): Typo.
|
||||||
* src/DataViews/_RepositoryView.py (edit, on_double_click): Catch
|
* src/DataViews/_RepositoryView.py (edit, on_double_click): Catch
|
||||||
exception.
|
exception.
|
||||||
@@ -9,6 +13,8 @@
|
|||||||
* data/grampsxml.rng: Update for new bookmarks.
|
* data/grampsxml.rng: Update for new bookmarks.
|
||||||
* src/GrampsDb/_WriteXML.py (write_bookmarks): Add method to write
|
* src/GrampsDb/_WriteXML.py (write_bookmarks): Add method to write
|
||||||
new bookmarks.
|
new bookmarks.
|
||||||
|
(XmlWriter.write_xml_data): Do not export name groups.
|
||||||
|
|
||||||
* src/GrampsDb/_ReadXML.py (start_bmark): Parse new bookmarks
|
* src/GrampsDb/_ReadXML.py (start_bmark): Parse new bookmarks
|
||||||
* INSTALL: Clarify; list build-dependencies.
|
* INSTALL: Clarify; list build-dependencies.
|
||||||
* src/GrampsDb/_ReadGrdb.py: Update progress.
|
* src/GrampsDb/_ReadGrdb.py: Update progress.
|
||||||
|
@@ -69,12 +69,6 @@ def find_idmap(key,data):
|
|||||||
def find_fidmap(key,data):
|
def find_fidmap(key,data):
|
||||||
return str(data[1])
|
return str(data[1])
|
||||||
|
|
||||||
def find_eventname(key,data):
|
|
||||||
return str(data[2])
|
|
||||||
|
|
||||||
def find_repository_type(key,data):
|
|
||||||
return str(data[2])
|
|
||||||
|
|
||||||
# Secondary database key lookups for reference_map table
|
# Secondary database key lookups for reference_map table
|
||||||
# reference_map data values are of the form:
|
# reference_map data values are of the form:
|
||||||
# ((primary_object_class_name, primary_object_handle),
|
# ((primary_object_class_name, primary_object_handle),
|
||||||
@@ -345,17 +339,7 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
dbtype=db.DB_BTREE)
|
dbtype=db.DB_BTREE)
|
||||||
callback(37)
|
callback(37)
|
||||||
|
|
||||||
self.bookmarks = self.metadata.get('bookmarks',[])
|
self._load_metadata()
|
||||||
self.family_bookmarks = self.metadata.get('family_bookmarks',[])
|
|
||||||
self.event_bookmarks = self.metadata.get('event_bookmarks',[])
|
|
||||||
self.source_bookmarks = self.metadata.get('source_bookmarks',[])
|
|
||||||
self.repo_bookmarks = self.metadata.get('repo_bookmarks',[])
|
|
||||||
self.media_bookmarks = self.metadata.get('media_bookmarks',[])
|
|
||||||
self.place_bookmarks = self.metadata.get('place_bookmarks',[])
|
|
||||||
self.family_event_names = set(self.metadata.get('fevent_names',[]))
|
|
||||||
self.individual_event_names = set(self.metadata.get('pevent_names',[]))
|
|
||||||
self.family_attributes = set(self.metadata.get('fattr_names',[]))
|
|
||||||
self.individual_attributes = set(self.metadata.get('pattr_names',[]))
|
|
||||||
|
|
||||||
gstats = self.metadata.get('gender_stats')
|
gstats = self.metadata.get('gender_stats')
|
||||||
|
|
||||||
@@ -399,6 +383,29 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
db_copy(other_database,self,callback)
|
db_copy(other_database,self,callback)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def _load_metadata(self):
|
||||||
|
# bookmarks
|
||||||
|
self.bookmarks = self.metadata.get('bookmarks',[])
|
||||||
|
self.family_bookmarks = self.metadata.get('family_bookmarks',[])
|
||||||
|
self.event_bookmarks = self.metadata.get('event_bookmarks',[])
|
||||||
|
self.source_bookmarks = self.metadata.get('source_bookmarks',[])
|
||||||
|
self.repo_bookmarks = self.metadata.get('repo_bookmarks',[])
|
||||||
|
self.media_bookmarks = self.metadata.get('media_bookmarks',[])
|
||||||
|
self.place_bookmarks = self.metadata.get('place_bookmarks',[])
|
||||||
|
# Custom type values
|
||||||
|
self.family_event_names = set(self.metadata.get('fevent_names',[]))
|
||||||
|
self.individual_event_names = set(self.metadata.get('pevent_names',[]))
|
||||||
|
self.family_attributes = set(self.metadata.get('fattr_names',[]))
|
||||||
|
self.individual_attributes = set(self.metadata.get('pattr_names',[]))
|
||||||
|
# These are not hooked up yet:
|
||||||
|
self.child_ref_types = set(self.metadata.get('child_refs',[]))
|
||||||
|
self.family_rel_types = set(self.metadata.get('family_rels',[]))
|
||||||
|
self.event_role_names = set(self.metadata.get('event_roles',[]))
|
||||||
|
self.name_types = set(self.metadata.get('name_types',[]))
|
||||||
|
self.repository_types = set(self.metadata.get('repo_types',[]))
|
||||||
|
self.source_media_types = set(self.metadata.get('sm_types',[]))
|
||||||
|
self.url_types = set(self.metadata.get('url_types',[]))
|
||||||
|
|
||||||
def connect_secondary(self):
|
def connect_secondary(self):
|
||||||
"""
|
"""
|
||||||
This method connects or creates secondary index tables.
|
This method connects or creates secondary index tables.
|
||||||
@@ -460,16 +467,6 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
self.rid_trans.open(self.full_name, "ridtrans",
|
self.rid_trans.open(self.full_name, "ridtrans",
|
||||||
db.DB_HASH, flags=table_flags)
|
db.DB_HASH, flags=table_flags)
|
||||||
|
|
||||||
self.eventnames = db.DB(self.env)
|
|
||||||
self.eventnames.set_flags(db.DB_DUP)
|
|
||||||
self.eventnames.open(self.full_name, "eventnames",
|
|
||||||
db.DB_HASH, flags=table_flags)
|
|
||||||
|
|
||||||
self.repository_types = db.DB(self.env)
|
|
||||||
self.repository_types.set_flags(db.DB_DUP)
|
|
||||||
self.repository_types.open(self.full_name, "repostypes",
|
|
||||||
db.DB_HASH, flags=table_flags)
|
|
||||||
|
|
||||||
self.reference_map_primary_map = db.DB(self.env)
|
self.reference_map_primary_map = db.DB(self.env)
|
||||||
self.reference_map_primary_map.set_flags(db.DB_DUP)
|
self.reference_map_primary_map.set_flags(db.DB_DUP)
|
||||||
self.reference_map_primary_map.open(self.full_name,
|
self.reference_map_primary_map.open(self.full_name,
|
||||||
@@ -489,8 +486,6 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
self.event_map.associate(self.eid_trans, find_idmap, table_flags)
|
self.event_map.associate(self.eid_trans, find_idmap, table_flags)
|
||||||
self.repository_map.associate(self.rid_trans, find_idmap,
|
self.repository_map.associate(self.rid_trans, find_idmap,
|
||||||
table_flags)
|
table_flags)
|
||||||
self.repository_map.associate(self.repository_types,
|
|
||||||
find_repository_type, table_flags)
|
|
||||||
self.place_map.associate(self.pid_trans, find_idmap, table_flags)
|
self.place_map.associate(self.pid_trans, find_idmap, table_flags)
|
||||||
self.media_map.associate(self.oid_trans, find_idmap, table_flags)
|
self.media_map.associate(self.oid_trans, find_idmap, table_flags)
|
||||||
self.source_map.associate(self.sid_trans, find_idmap, table_flags)
|
self.source_map.associate(self.sid_trans, find_idmap, table_flags)
|
||||||
@@ -812,6 +807,34 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def _close_metadata(self):
|
||||||
|
if not self.readonly:
|
||||||
|
# bookmarks
|
||||||
|
self.metadata['bookmarks'] = self.bookmarks
|
||||||
|
self.metadata['family_bookmarks'] = self.family_bookmarks
|
||||||
|
self.metadata['event_bookmarks'] = self.event_bookmarks
|
||||||
|
self.metadata['source_bookmarks'] = self.source_bookmarks
|
||||||
|
self.metadata['place_bookmarks'] = self.place_bookmarks
|
||||||
|
self.metadata['repo_bookmarks'] = self.repo_bookmarks
|
||||||
|
self.metadata['media_bookmarks'] = self.media_bookmarks
|
||||||
|
# gender stats
|
||||||
|
self.metadata['gender_stats'] = self.genderStats.save_stats()
|
||||||
|
# Custom type values
|
||||||
|
self.metadata['fevent_names'] = list(self.family_event_names)
|
||||||
|
self.metadata['pevent_names'] = list(self.individual_event_names)
|
||||||
|
self.metadata['fattr_names'] = list(self.family_attributes)
|
||||||
|
self.metadata['pattr_names'] = list(self.individual_attributes)
|
||||||
|
# These are not hooked up yet:
|
||||||
|
self.metadata['child_refs'] = list(self.child_ref_types)
|
||||||
|
self.metadata['family_rels'] = list(self.family_rel_types)
|
||||||
|
self.metadata['event_roles'] = list(self.event_role_names)
|
||||||
|
self.metadata['name_types'] = list(self.name_types)
|
||||||
|
self.metadata['repo_types'] = list(self.repository_types)
|
||||||
|
self.metadata['sm_types'] = list(self.source_media_types)
|
||||||
|
self.metadata['url_types'] = list(self.url_types)
|
||||||
|
|
||||||
|
self.metadata.close()
|
||||||
|
|
||||||
def _close_early(self):
|
def _close_early(self):
|
||||||
"""
|
"""
|
||||||
Bail out if the incompatible version is discovered:
|
Bail out if the incompatible version is discovered:
|
||||||
@@ -832,26 +855,13 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
def close(self):
|
def close(self):
|
||||||
if not self.db_is_open:
|
if not self.db_is_open:
|
||||||
return
|
return
|
||||||
if not self.readonly:
|
|
||||||
self.metadata['bookmarks'] = self.bookmarks
|
self._close_metadata()
|
||||||
self.metadata['family_bookmarks'] = self.family_bookmarks
|
|
||||||
self.metadata['event_bookmarks'] = self.event_bookmarks
|
|
||||||
self.metadata['source_bookmarks'] = self.source_bookmarks
|
|
||||||
self.metadata['place_bookmarks'] = self.place_bookmarks
|
|
||||||
self.metadata['repo_bookmarks'] = self.repo_bookmarks
|
|
||||||
self.metadata['media_bookmarks'] = self.media_bookmarks
|
|
||||||
self.metadata['gender_stats'] = self.genderStats.save_stats()
|
|
||||||
self.metadata['fevent_names'] = list(self.family_event_names)
|
|
||||||
self.metadata['pevent_names'] = list(self.individual_event_names)
|
|
||||||
self.metadata['fattr_names'] = list(self.family_attributes)
|
|
||||||
self.metadata['pattr_names'] = list(self.individual_attributes)
|
|
||||||
if self.UseTXN:
|
if self.UseTXN:
|
||||||
self.env.txn_checkpoint()
|
self.env.txn_checkpoint()
|
||||||
self.metadata.close()
|
|
||||||
self.name_group.close()
|
self.name_group.close()
|
||||||
self.surnames.close()
|
self.surnames.close()
|
||||||
self.eventnames.close()
|
|
||||||
self.repository_types.close()
|
|
||||||
self.id_trans.close()
|
self.id_trans.close()
|
||||||
self.fid_trans.close()
|
self.fid_trans.close()
|
||||||
self.eid_trans.close()
|
self.eid_trans.close()
|
||||||
@@ -962,10 +972,10 @@ class GrampsBSDDB(GrampsDbBase):
|
|||||||
vals.sort()
|
vals.sort()
|
||||||
return [item[1] for item in vals]
|
return [item[1] for item in vals]
|
||||||
|
|
||||||
def get_repository_type_list(self):
|
## def get_repository_type_list(self):
|
||||||
vals = list(set(self.repository_types.keys()))
|
## vals = list(set(self.repository_types.keys()))
|
||||||
vals.sort(locale.strcoll)
|
## vals.sort(locale.strcoll)
|
||||||
return vals
|
## return vals
|
||||||
|
|
||||||
def _get_obj_from_gramps_id(self,val,tbl,class_init):
|
def _get_obj_from_gramps_id(self,val,tbl,class_init):
|
||||||
if tbl.has_key(str(val)):
|
if tbl.has_key(str(val)):
|
||||||
|
@@ -225,6 +225,17 @@ class GrampsDbBase(GrampsDBCallback):
|
|||||||
self.family_attributes = set()
|
self.family_attributes = set()
|
||||||
self.marker_names = set()
|
self.marker_names = set()
|
||||||
|
|
||||||
|
# FIXME: TODO: These are just added here at the moment.
|
||||||
|
# They need to be hooked up on commits
|
||||||
|
self.child_ref_types = set()
|
||||||
|
self.family_rel_types = set()
|
||||||
|
self.event_role_names = set()
|
||||||
|
self.name_types = set()
|
||||||
|
self.repository_types = set()
|
||||||
|
self.source_media_types = set()
|
||||||
|
self.url_types = set()
|
||||||
|
# END FIXME
|
||||||
|
|
||||||
self.set_person_id_prefix(Config.get(Config.IPREFIX))
|
self.set_person_id_prefix(Config.get(Config.IPREFIX))
|
||||||
self.set_object_id_prefix(Config.get(Config.OPREFIX))
|
self.set_object_id_prefix(Config.get(Config.OPREFIX))
|
||||||
self.set_family_id_prefix(Config.get(Config.FPREFIX))
|
self.set_family_id_prefix(Config.get(Config.FPREFIX))
|
||||||
|
@@ -324,13 +324,6 @@ class XmlWriter(UpdateCallback):
|
|||||||
# Data is written, now write bookmarks.
|
# Data is written, now write bookmarks.
|
||||||
self.write_bookmarks()
|
self.write_bookmarks()
|
||||||
|
|
||||||
if len(self.db.name_group) > 0:
|
|
||||||
self.g.write(' <groups>\n')
|
|
||||||
for key in self.db.name_group.keys():
|
|
||||||
self.g.write(' <group_map name="%s" group="%s"/>\n' %
|
|
||||||
(key,self.db.name_group[key]))
|
|
||||||
self.g.write(' </groups>\n')
|
|
||||||
|
|
||||||
self.g.write("</database>\n")
|
self.g.write("</database>\n")
|
||||||
|
|
||||||
def write_bookmarks(self):
|
def write_bookmarks(self):
|
||||||
|
Reference in New Issue
Block a user