Exemplo n.º 1
0
 def reindex_reference_map(self, callback):
     from gramps.webapp.grampsdb.models import Reference
     callback(4)
     self.dji.Reference.all().delete()
     primary_table = (
         (self.get_person_cursor, Person),
         (self.get_family_cursor, Family),
         (self.get_event_cursor, Event),
         (self.get_place_cursor, Place),
         (self.get_source_cursor, Source),
         (self.get_citation_cursor, Citation),
         (self.get_media_cursor, MediaObject),
         (self.get_repository_cursor, Repository),
         (self.get_note_cursor, Note),
         (self.get_tag_cursor, Tag),
     )
     # Now we use the functions and classes defined above
     # to loop through each of the primary object tables.
     for cursor_func, class_func in primary_table:
         logging.info("Rebuilding %s reference map" % class_func.__name__)
         with cursor_func() as cursor:
             for found_handle, val in cursor:
                 obj = class_func.create(val)
                 references = set(obj.get_referenced_handles_recursively())
                 # handle addition of new references
                 for (ref_class_name, ref_handle) in references:
                     reference = Reference(obj_handle=obj.handle,
                                           obj_class=obj.__class__.__name__,
                                           ref_handle=ref_handle,
                                           ref_class=ref_class_name)
                     reference.save()
     callback(5)
Exemplo n.º 2
0
 def reindex_reference_map(self, callback):
     from gramps.webapp.grampsdb.models import Reference
     callback(4)
     self.dji.Reference.all().delete()
     primary_table = (
         (self.get_person_cursor, Person),
         (self.get_family_cursor, Family),
         (self.get_event_cursor, Event),
         (self.get_place_cursor, Place),
         (self.get_source_cursor, Source),
         (self.get_citation_cursor, Citation),
         (self.get_media_cursor, MediaObject),
         (self.get_repository_cursor, Repository),
         (self.get_note_cursor, Note),
         (self.get_tag_cursor, Tag),
     )
     # Now we use the functions and classes defined above
     # to loop through each of the primary object tables.
     for cursor_func, class_func in primary_table:
         logging.info("Rebuilding %s reference map" %
                      class_func.__name__)
         with cursor_func() as cursor:
             for found_handle, val in cursor:
                 obj = class_func.create(val)
                 references = set(obj.get_referenced_handles_recursively())
                 # handle addition of new references
                 for (ref_class_name, ref_handle) in references:
                     reference = Reference(obj_handle=obj.handle,
                                           obj_class=obj.__class__.__name__,
                                           ref_handle=ref_handle,
                                           ref_class=ref_class_name)
                     reference.save()
     callback(5)
Exemplo n.º 3
0
 def update_backlinks(self, obj):
     from gramps.webapp.grampsdb.models import Reference
     # First, delete the current references:
     self.dji.Reference.filter(obj_handle=obj.handle).delete()
     # Now, add the current ones:
     references = set(obj.get_referenced_handles_recursively())
     for (ref_class_name, ref_handle) in references:
         reference = Reference(obj_handle=obj.handle,
                               obj_class=obj.__class__.__name__,
                               ref_handle=ref_handle,
                               ref_class=ref_class_name)
         reference.save()
Exemplo n.º 4
0
 def update_backlinks(self, obj):
     from gramps.webapp.grampsdb.models import Reference
     # First, delete the current references:
     self.dji.Reference.filter(obj_handle=obj.handle).delete()
     # Now, add the current ones:
     references = set(obj.get_referenced_handles_recursively())
     for (ref_class_name, ref_handle) in references:
         reference = Reference(obj_handle=obj.handle,
                               obj_class=obj.__class__.__name__,
                               ref_handle=ref_handle,
                               ref_class=ref_class_name)
         reference.save()