Example #1
0
 def remove_object_from_handle(self, handle):
     """
     Remove the selected objects from the database after getting
     user verification.
     """
     the_lists = get_media_referents(handle, self.dbstate.db)
     object = self.dbstate.db.get_media_from_handle(handle)
     query = DeleteMediaQuery(self.dbstate, self.uistate, handle, the_lists)
     is_used = any(the_lists)
     return (query, is_used, object)
Example #2
0
 def remove_object_from_handle(self, handle):
     """
     Remove the selected objects from the database after getting
     user verification.
     """
     the_lists = get_media_referents(handle, self.dbstate.db)
     object = self.dbstate.db.get_media_from_handle(handle)
     query = DeleteMediaQuery(self.dbstate, self.uistate, handle, the_lists)
     is_used = any(the_lists)
     return (query, is_used, object)
Example #3
0
def delete_media(db_handle: DbWriteBase, handle: str, trans: DbTxn) -> None:
    """Delete an media object and its references."""
    (
        person_list,
        family_list,
        event_list,
        place_list,
        source_list,
        citation_list,
    ) = get_media_referents(handle, db_handle)

    for _handle in person_list:
        person = db_handle.get_person_from_handle(_handle)
        new_list = [
            photo for photo in person.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        person.set_media_list(new_list)
        db_handle.commit_person(person, trans)

    for _handle in family_list:
        family = db_handle.get_family_from_handle(_handle)
        new_list = [
            photo for photo in family.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        family.set_media_list(new_list)
        db_handle.commit_family(family, trans)

    for _handle in event_list:
        event = db_handle.get_event_from_handle(_handle)
        new_list = [
            photo for photo in event.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        event.set_media_list(new_list)
        db_handle.commit_event(event, trans)

    for _handle in place_list:
        place = db_handle.get_place_from_handle(_handle)
        new_list = [
            photo for photo in place.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        place.set_media_list(new_list)
        db_handle.commit_place(place, trans)

    for _handle in source_list:
        source = db_handle.get_source_from_handle(_handle)
        new_list = [
            photo for photo in source.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        source.set_media_list(new_list)
        db_handle.commit_source(source, trans)

    for _handle in citation_list:
        citation = db_handle.get_citation_from_handle(_handle)
        new_list = [
            photo for photo in citation.get_media_list()
            if photo.get_reference_handle() != handle
        ]
        citation.set_media_list(new_list)
        db_handle.commit_citation(citation, trans)

    db_handle.remove_media(handle, trans)