Added meta settings to make sure they are bound to correct methods (of the proxies) rather than actual db methods
This commit is contained in:
parent
46b3c44916
commit
0d5e006953
@ -41,7 +41,8 @@ else:
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from .proxybase import ProxyDbBase
|
from .proxybase import ProxyDbBase
|
||||||
from ..lib import Date, Person, Name, Surname, NameOriginType
|
from ..lib import (Date, Person, Name, Surname, NameOriginType, Family, Source,
|
||||||
|
Citation, Event, MediaObject, Place, Repository, Note, Tag)
|
||||||
from ..utils.alive import probably_alive
|
from ..utils.alive import probably_alive
|
||||||
from ..config import config
|
from ..config import config
|
||||||
|
|
||||||
@ -89,6 +90,87 @@ class LivingProxyDb(ProxyDbBase):
|
|||||||
else:
|
else:
|
||||||
self.current_date = None
|
self.current_date = None
|
||||||
self.years_after_death = years_after_death
|
self.years_after_death = years_after_death
|
||||||
|
# need to update _tables with these functions
|
||||||
|
self._tables['Person'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_person_from_handle,
|
||||||
|
"gramps_id_func": self.get_person_from_gramps_id,
|
||||||
|
"class_func": Person,
|
||||||
|
"cursor_func": self.get_person_cursor,
|
||||||
|
"handles_func": self.get_person_handles,
|
||||||
|
})
|
||||||
|
self._tables['Family'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_family_from_handle,
|
||||||
|
"gramps_id_func": self.get_family_from_gramps_id,
|
||||||
|
"class_func": Family,
|
||||||
|
"cursor_func": self.get_family_cursor,
|
||||||
|
"handles_func": self.get_family_handles,
|
||||||
|
})
|
||||||
|
self._tables['Source'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_source_from_handle,
|
||||||
|
"gramps_id_func": self.get_source_from_gramps_id,
|
||||||
|
"class_func": Source,
|
||||||
|
"cursor_func": self.get_source_cursor,
|
||||||
|
"handles_func": self.get_source_handles,
|
||||||
|
})
|
||||||
|
self._tables['Citation'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_citation_from_handle,
|
||||||
|
"gramps_id_func": self.get_citation_from_gramps_id,
|
||||||
|
"class_func": Citation,
|
||||||
|
"cursor_func": self.get_citation_cursor,
|
||||||
|
"handles_func": self.get_citation_handles,
|
||||||
|
})
|
||||||
|
self._tables['Event'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_event_from_handle,
|
||||||
|
"gramps_id_func": self.get_event_from_gramps_id,
|
||||||
|
"class_func": Event,
|
||||||
|
"cursor_func": self.get_event_cursor,
|
||||||
|
"handles_func": self.get_event_handles,
|
||||||
|
})
|
||||||
|
self._tables['Media'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_object_from_handle,
|
||||||
|
"gramps_id_func": self.get_object_from_gramps_id,
|
||||||
|
"class_func": MediaObject,
|
||||||
|
"cursor_func": self.get_media_cursor,
|
||||||
|
"handles_func": self.get_media_object_handles,
|
||||||
|
})
|
||||||
|
self._tables['Place'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_place_from_handle,
|
||||||
|
"gramps_id_func": self.get_place_from_gramps_id,
|
||||||
|
"class_func": Place,
|
||||||
|
"cursor_func": self.get_place_cursor,
|
||||||
|
"handles_func": self.get_place_handles,
|
||||||
|
})
|
||||||
|
self._tables['Repository'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_repository_from_handle,
|
||||||
|
"gramps_id_func": self.get_repository_from_gramps_id,
|
||||||
|
"class_func": Repository,
|
||||||
|
"cursor_func": self.get_repository_cursor,
|
||||||
|
"handles_func": self.get_repository_handles,
|
||||||
|
})
|
||||||
|
self._tables['Note'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_note_from_handle,
|
||||||
|
"gramps_id_func": self.get_note_from_gramps_id,
|
||||||
|
"class_func": Note,
|
||||||
|
"cursor_func": self.get_note_cursor,
|
||||||
|
"handles_func": self.get_note_handles,
|
||||||
|
})
|
||||||
|
self._tables['Tag'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_tag_from_handle,
|
||||||
|
"gramps_id_func": None,
|
||||||
|
"class_func": Tag,
|
||||||
|
"cursor_func": self.get_tag_cursor,
|
||||||
|
"handles_func": self.get_tag_handles,
|
||||||
|
})
|
||||||
|
|
||||||
def get_person_from_handle(self, handle):
|
def get_person_from_handle(self, handle):
|
||||||
"""
|
"""
|
||||||
@ -297,3 +379,4 @@ class LivingProxyDb(ProxyDbBase):
|
|||||||
new_person.set_tag_list(person.get_tag_list())
|
new_person.set_tag_list(person.get_tag_list())
|
||||||
|
|
||||||
return new_person
|
return new_person
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ LOG = logging.getLogger(".citation")
|
|||||||
from ..lib import (MediaRef, Attribute, Address, EventRef,
|
from ..lib import (MediaRef, Attribute, Address, EventRef,
|
||||||
Person, Name, Source, RepoRef, MediaObject, Place, Event,
|
Person, Name, Source, RepoRef, MediaObject, Place, Event,
|
||||||
Family, ChildRef, Repository, LdsOrd, Surname, Citation,
|
Family, ChildRef, Repository, LdsOrd, Surname, Citation,
|
||||||
SrcAttribute)
|
SrcAttribute, Note, Tag)
|
||||||
from .proxybase import ProxyDbBase
|
from .proxybase import ProxyDbBase
|
||||||
|
|
||||||
class PrivateProxyDb(ProxyDbBase):
|
class PrivateProxyDb(ProxyDbBase):
|
||||||
@ -58,6 +58,86 @@ class PrivateProxyDb(ProxyDbBase):
|
|||||||
Create a new PrivateProxyDb instance.
|
Create a new PrivateProxyDb instance.
|
||||||
"""
|
"""
|
||||||
ProxyDbBase.__init__(self, db)
|
ProxyDbBase.__init__(self, db)
|
||||||
|
self._tables['Person'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_person_from_handle,
|
||||||
|
"gramps_id_func": self.get_person_from_gramps_id,
|
||||||
|
"class_func": Person,
|
||||||
|
"cursor_func": self.get_person_cursor,
|
||||||
|
"handles_func": self.get_person_handles,
|
||||||
|
})
|
||||||
|
self._tables['Family'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_family_from_handle,
|
||||||
|
"gramps_id_func": self.get_family_from_gramps_id,
|
||||||
|
"class_func": Family,
|
||||||
|
"cursor_func": self.get_family_cursor,
|
||||||
|
"handles_func": self.get_family_handles,
|
||||||
|
})
|
||||||
|
self._tables['Source'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_source_from_handle,
|
||||||
|
"gramps_id_func": self.get_source_from_gramps_id,
|
||||||
|
"class_func": Source,
|
||||||
|
"cursor_func": self.get_source_cursor,
|
||||||
|
"handles_func": self.get_source_handles,
|
||||||
|
})
|
||||||
|
self._tables['Citation'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_citation_from_handle,
|
||||||
|
"gramps_id_func": self.get_citation_from_gramps_id,
|
||||||
|
"class_func": Citation,
|
||||||
|
"cursor_func": self.get_citation_cursor,
|
||||||
|
"handles_func": self.get_citation_handles,
|
||||||
|
})
|
||||||
|
self._tables['Event'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_event_from_handle,
|
||||||
|
"gramps_id_func": self.get_event_from_gramps_id,
|
||||||
|
"class_func": Event,
|
||||||
|
"cursor_func": self.get_event_cursor,
|
||||||
|
"handles_func": self.get_event_handles,
|
||||||
|
})
|
||||||
|
self._tables['Media'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_object_from_handle,
|
||||||
|
"gramps_id_func": self.get_object_from_gramps_id,
|
||||||
|
"class_func": MediaObject,
|
||||||
|
"cursor_func": self.get_media_cursor,
|
||||||
|
"handles_func": self.get_media_object_handles,
|
||||||
|
})
|
||||||
|
self._tables['Place'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_place_from_handle,
|
||||||
|
"gramps_id_func": self.get_place_from_gramps_id,
|
||||||
|
"class_func": Place,
|
||||||
|
"cursor_func": self.get_place_cursor,
|
||||||
|
"handles_func": self.get_place_handles,
|
||||||
|
})
|
||||||
|
self._tables['Repository'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_repository_from_handle,
|
||||||
|
"gramps_id_func": self.get_repository_from_gramps_id,
|
||||||
|
"class_func": Repository,
|
||||||
|
"cursor_func": self.get_repository_cursor,
|
||||||
|
"handles_func": self.get_repository_handles,
|
||||||
|
})
|
||||||
|
self._tables['Note'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_note_from_handle,
|
||||||
|
"gramps_id_func": self.get_note_from_gramps_id,
|
||||||
|
"class_func": Note,
|
||||||
|
"cursor_func": self.get_note_cursor,
|
||||||
|
"handles_func": self.get_note_handles,
|
||||||
|
})
|
||||||
|
self._tables['Tag'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_tag_from_handle,
|
||||||
|
"gramps_id_func": None,
|
||||||
|
"class_func": Tag,
|
||||||
|
"cursor_func": self.get_tag_cursor,
|
||||||
|
"handles_func": self.get_tag_handles,
|
||||||
|
})
|
||||||
|
|
||||||
def get_person_from_handle(self, handle):
|
def get_person_from_handle(self, handle):
|
||||||
"""
|
"""
|
||||||
|
@ -967,3 +967,4 @@ class ProxyDbBase(DbReadBase):
|
|||||||
Return the database ID.
|
Return the database ID.
|
||||||
"""
|
"""
|
||||||
return self.basedb.get_dbid()
|
return self.basedb.get_dbid()
|
||||||
|
|
||||||
|
@ -82,6 +82,87 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
|
|||||||
while len(self.queue):
|
while len(self.queue):
|
||||||
obj_type, handle, reference = self.queue.pop()
|
obj_type, handle, reference = self.queue.pop()
|
||||||
self.process_object(obj_type, handle, reference)
|
self.process_object(obj_type, handle, reference)
|
||||||
|
# need to update _tables with these functions
|
||||||
|
self._tables['Person'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_person_from_handle,
|
||||||
|
"gramps_id_func": self.get_person_from_gramps_id,
|
||||||
|
"class_func": Person,
|
||||||
|
"cursor_func": self.get_person_cursor,
|
||||||
|
"handles_func": self.get_person_handles,
|
||||||
|
})
|
||||||
|
self._tables['Family'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_family_from_handle,
|
||||||
|
"gramps_id_func": self.get_family_from_gramps_id,
|
||||||
|
"class_func": Family,
|
||||||
|
"cursor_func": self.get_family_cursor,
|
||||||
|
"handles_func": self.get_family_handles,
|
||||||
|
})
|
||||||
|
self._tables['Source'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_source_from_handle,
|
||||||
|
"gramps_id_func": self.get_source_from_gramps_id,
|
||||||
|
"class_func": Source,
|
||||||
|
"cursor_func": self.get_source_cursor,
|
||||||
|
"handles_func": self.get_source_handles,
|
||||||
|
})
|
||||||
|
self._tables['Citation'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_citation_from_handle,
|
||||||
|
"gramps_id_func": self.get_citation_from_gramps_id,
|
||||||
|
"class_func": Citation,
|
||||||
|
"cursor_func": self.get_citation_cursor,
|
||||||
|
"handles_func": self.get_citation_handles,
|
||||||
|
})
|
||||||
|
self._tables['Event'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_event_from_handle,
|
||||||
|
"gramps_id_func": self.get_event_from_gramps_id,
|
||||||
|
"class_func": Event,
|
||||||
|
"cursor_func": self.get_event_cursor,
|
||||||
|
"handles_func": self.get_event_handles,
|
||||||
|
})
|
||||||
|
self._tables['Media'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_object_from_handle,
|
||||||
|
"gramps_id_func": self.get_object_from_gramps_id,
|
||||||
|
"class_func": MediaObject,
|
||||||
|
"cursor_func": self.get_media_cursor,
|
||||||
|
"handles_func": self.get_media_object_handles,
|
||||||
|
})
|
||||||
|
self._tables['Place'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_place_from_handle,
|
||||||
|
"gramps_id_func": self.get_place_from_gramps_id,
|
||||||
|
"class_func": Place,
|
||||||
|
"cursor_func": self.get_place_cursor,
|
||||||
|
"handles_func": self.get_place_handles,
|
||||||
|
})
|
||||||
|
self._tables['Repository'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_repository_from_handle,
|
||||||
|
"gramps_id_func": self.get_repository_from_gramps_id,
|
||||||
|
"class_func": Repository,
|
||||||
|
"cursor_func": self.get_repository_cursor,
|
||||||
|
"handles_func": self.get_repository_handles,
|
||||||
|
})
|
||||||
|
self._tables['Note'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_note_from_handle,
|
||||||
|
"gramps_id_func": self.get_note_from_gramps_id,
|
||||||
|
"class_func": Note,
|
||||||
|
"cursor_func": self.get_note_cursor,
|
||||||
|
"handles_func": self.get_note_handles,
|
||||||
|
})
|
||||||
|
self._tables['Tag'].update(
|
||||||
|
{
|
||||||
|
"handle_func": self.get_tag_from_handle,
|
||||||
|
"gramps_id_func": None,
|
||||||
|
"class_func": Tag,
|
||||||
|
"cursor_func": self.get_tag_cursor,
|
||||||
|
"handles_func": self.get_tag_handles,
|
||||||
|
})
|
||||||
|
|
||||||
def queue_object(self, obj_type, handle, reference=True):
|
def queue_object(self, obj_type, handle, reference=True):
|
||||||
self.queue.append((obj_type, handle, reference))
|
self.queue.append((obj_type, handle, reference))
|
||||||
|
Loading…
Reference in New Issue
Block a user