def export_data(self): """Open the file and loop over everyone too write their VCards.""" with OpenFileOrStdout(self.filename) as self.filehandle: if self.filehandle: self.count = 0 self.oldval = 0 self.total = self.db.get_number_of_people() for key in self.db.iter_person_handles(): self.write_person(key) self.update() return True
def export_data(self): """Open the file and loop over everyone too write their VCards.""" with OpenFileOrStdout(self.filename, encoding='utf-8', errors='strict', newline='') as self.filehandle: if self.filehandle: self.count = 0 self.oldval = 0 self.total = self.db.get_number_of_people() for key in sorted(list(self.db.iter_person_handles())): self.write_person(key) self.update() return True
def exportData(db, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename) as fp: total = (db.get_number_of_notes() + db.get_number_of_people() + db.get_number_of_events() + db.get_number_of_families() + db.get_number_of_repositories() + db.get_number_of_places() + db.get_number_of_media() + db.get_number_of_citations() + db.get_number_of_sources() + db.get_number_of_tags()) count = 0.0 # --------------------------------- # Notes # --------------------------------- for note in db.iter_notes(): write_line(fp, "note:", note.handle, note) count += 1 callback(100 * count / total) # --------------------------------- # Event # --------------------------------- for event in db.iter_events(): write_line(fp, "event:", event.handle, event) count += 1 callback(100 * count / total) # --------------------------------- # Person # --------------------------------- for person in db.iter_people(): write_line(fp, "person:", person.handle, person) count += 1 callback(100 * count / total) # --------------------------------- # Family # --------------------------------- for family in db.iter_families(): write_line(fp, "family:", family.handle, family) count += 1 callback(100 * count / total) # --------------------------------- # Repository # --------------------------------- for repository in db.iter_repositories(): write_line(fp, "repository:", repository.handle, repository) count += 1 callback(100 * count / total) # --------------------------------- # Place # --------------------------------- for place in db.iter_places(): write_line(fp, "place:", place.handle, place) count += 1 callback(100 * count / total) # --------------------------------- # Source # --------------------------------- for source in db.iter_sources(): write_line(fp, "source:", source.handle, source) count += 1 callback(100 * count / total) # --------------------------------- # Media # --------------------------------- for media in db.iter_media(): write_line(fp, "media:", media.handle, media) count += 1 callback(100 * count / total) # --------------------------------- # Citation # --------------------------------- for citation in db.iter_citations(): write_line(fp, "citation:", citation.handle, citation) count += 1 callback(100 * count / total) # --------------------------------- # Tag # --------------------------------- for tag in db.iter_tags(): write_line(fp, "tag:", tag.handle, tag) count += 1 callback(100 * count / total) return True
def exportData(db, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename) as fp: total = (db.get_number_of_notes() + db.get_number_of_people() + db.get_number_of_events() + db.get_number_of_families() + db.get_number_of_repositories() + db.get_number_of_places() + db.get_number_of_media() + db.get_number_of_sources()) count = 0.0 # GProlog ISO directives: # /number must match the number of arguments to functions: fp.write(":- discontiguous(data/2).\n") fp.write(":- discontiguous(is_alive/2).\n") fp.write(":- discontiguous(parent/2).\n") # Rules: fp.write("grandparent(X, Y) :- parent(X, Z), parent(Z, Y).\n") fp.write("ancestor(X, Y) :- parent(X, Y).\n") fp.write("ancestor(X, Y) :- parent(X, Z), ancestor(Z, Y).\n") fp.write("sibling(X, Y) :- parent(Z, X), parent(Z, Y), X \= Y.\n") # --------------------------------- # Notes # --------------------------------- for note in db.iter_notes(): #write_line(fp, "note_details(%s, %s)" % (note.handle, note)) count += 1 callback(100 * count/total) # --------------------------------- # Event # --------------------------------- for event in db.iter_events(): #write_line(fp, "event:", event.handle, event) count += 1 callback(100 * count/total) # --------------------------------- # Person # --------------------------------- for person in db.iter_people(): gid = person.gramps_id.lower() fp.write("data(%s, '%s').\n" % (gid, escape(name_displayer.display(person)))) fp.write("is_alive(%s, '%s').\n" % (gid, probably_alive(person, database))) count += 1 callback(100 * count/total) # --------------------------------- # Family # --------------------------------- for family in db.iter_families(): father_handle = family.get_father_handle() mother_handle = family.get_mother_handle() parents = [] if mother_handle: mother = database.get_person_from_handle(mother_handle) if mother: parents.append(mother.gramps_id.lower()) if father_handle: father = database.get_person_from_handle(father_handle) if father: parents.append(father.gramps_id.lower()) children = [] for child_ref in family.get_child_ref_list(): child_handle = child_ref.ref child = database.get_person_from_handle(child_handle) if child: children.append(child.gramps_id.lower()) for pid in parents: for cid in children: fp.write("parent(%s, %s).\n" % (pid, cid)) count += 1 callback(100 * count/total) # --------------------------------- # Repository # --------------------------------- for repository in db.iter_repositories(): #write_line(fp, "repository:", repository.handle, repository) count += 1 callback(100 * count/total) # --------------------------------- # Place # --------------------------------- for place in db.iter_places(): #write_line(fp, "place:", place.handle, place) count += 1 callback(100 * count/total) # --------------------------------- # Source # --------------------------------- for source in db.iter_sources(): #write_line(fp, "source:", source.handle, source) count += 1 callback(100 * count/total) # --------------------------------- # Media # --------------------------------- for media in db.iter_media(): #write_line(fp, "media:", media.handle, media) count += 1 callback(100 * count/total) return True
def exportData(database, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename, encoding="utf-8") as fp: total = (len(database.note_map) + len(database.person_map) + len(database.event_map) + len(database.family_map) + len(database.repository_map) + len(database.place_map) + len(database.media_map) + len(database.citation_map) + len(database.source_map) + len(database.tag_map)) count = 0.0 # --------------------------------- # Notes # --------------------------------- for handle in database.note_map.keys(): serial = database.note_map[handle] write_line(fp, Note.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Event # --------------------------------- for handle in database.event_map.keys(): serial = database.event_map[handle] write_line(fp, Event.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Person # --------------------------------- for handle in database.person_map.keys(): serial = database.person_map[handle] write_line(fp, Person.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Family # --------------------------------- for handle in database.family_map.keys(): serial = database.family_map[handle] write_line(fp, Family.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Repository # --------------------------------- for handle in database.repository_map.keys(): serial = database.repository_map[handle] write_line(fp, Repository.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Place # --------------------------------- for handle in database.place_map.keys(): serial = database.place_map[handle] write_line(fp, Place.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Source # --------------------------------- for handle in database.source_map.keys(): serial = database.source_map[handle] write_line(fp, Source.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Citation # --------------------------------- for handle in database.citation_map.keys(): serial = database.citation_map[handle] write_line(fp, Citation.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Media # --------------------------------- for handle in database.media_map.keys(): serial = database.media_map[handle] write_line(fp, MediaObject.create(serial)) count += 1 callback(100 * count / total) # --------------------------------- # Tag # --------------------------------- for handle in database.tag_map.keys(): serial = database.tag_map[handle] write_line(fp, Tag.create(serial)) count += 1 callback(100 * count / total) return True
def exportData(db, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename, encoding="utf-8") as fp: total = (db.get_number_of_notes() + db.get_number_of_people() + db.get_number_of_events() + db.get_number_of_families() + db.get_number_of_repositories() + db.get_number_of_places() + db.get_number_of_media() + db.get_number_of_citations() + db.get_number_of_sources() + db.get_number_of_tags()) count = 0.0 # --------------------------------- # Notes # --------------------------------- for obj in db.iter_notes(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Event # --------------------------------- for obj in db.iter_events(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Person # --------------------------------- for obj in db.iter_people(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Family # --------------------------------- for obj in db.iter_families(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Repository # --------------------------------- for obj in db.iter_repositories(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Place # --------------------------------- for obj in db.iter_places(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Source # --------------------------------- for obj in db.iter_sources(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Citation # --------------------------------- for obj in db.iter_citations(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Media # --------------------------------- for obj in db.iter_media(): write_line(fp, obj) count += 1 callback(100 * count/total) # --------------------------------- # Tag # --------------------------------- for obj in db.iter_tags(): write_line(fp, obj) count += 1 callback(100 * count/total) return True
def exportData(database, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename) as fp: total = (len(database.note_map) + len(database.person_map) + len(database.event_map) + len(database.family_map) + len(database.repository_map) + len(database.place_map) + len(database.media_map) + len(database.source_map)) count = 0.0 # --------------------------------- # Notes # --------------------------------- for note_handle in database.note_map.keys(): note = database.note_map[note_handle] write_line(fp, "note:", note_handle, note) count += 1 callback(100 * count / total) # --------------------------------- # Event # --------------------------------- for event_handle in database.event_map.keys(): event = database.event_map[event_handle] write_line(fp, "event:", event_handle, event) count += 1 callback(100 * count / total) # --------------------------------- # Person # --------------------------------- for person_handle in database.person_map.keys(): person = database.person_map[person_handle] write_line(fp, "person:", person_handle, person) count += 1 callback(100 * count / total) # --------------------------------- # Family # --------------------------------- for family_handle in database.family_map.keys(): family = database.family_map[family_handle] write_line(fp, "family:", family_handle, family) count += 1 callback(100 * count / total) # --------------------------------- # Repository # --------------------------------- for repository_handle in database.repository_map.keys(): repository = database.repository_map[repository_handle] write_line(fp, "repository:", repository_handle, repository) count += 1 callback(100 * count / total) # --------------------------------- # Place # --------------------------------- for place_handle in database.place_map.keys(): place = database.place_map[place_handle] write_line(fp, "place:", place_handle, place) count += 1 callback(100 * count / total) # --------------------------------- # Source # --------------------------------- for source_handle in database.source_map.keys(): source = database.source_map[source_handle] write_line(fp, "source:", source_handle, source) count += 1 callback(100 * count / total) # --------------------------------- # Media # --------------------------------- for media_handle in database.media_map.keys(): media = database.media_map[media_handle] write_line(fp, "media:", media_handle, media) count += 1 callback(100 * count / total) return True
def exportData(database, filename, error_dialog=None, option_box=None, callback=None): if not callable(callback): callback = lambda percent: None # dummy with OpenFileOrStdout(filename) as fp: total = (len(database.note_map) + len(database.person_map) + len(database.event_map) + len(database.family_map) + len(database.repository_map) + len(database.place_map) + len(database.media_map) + len(database.source_map)) count = 0.0 # GProlog ISO directives: # /number must match the number of arguments to functions: fp.write(":- discontiguous(data/2).\n") fp.write(":- discontiguous(is_alive/2).\n") fp.write(":- discontiguous(parent/2).\n") # Rules: fp.write("grandparent(X, Y) :- parent(X, Z), parent(Z, Y).\n") fp.write("ancestor(X, Y) :- parent(X, Y).\n") fp.write("ancestor(X, Y) :- parent(X, Z), ancestor(Z, Y).\n") fp.write("sibling(X, Y) :- parent(Z, X), parent(Z, Y), X \= Y.\n") # --------------------------------- # Notes # --------------------------------- for note_handle in database.note_map.keys(): note = database.note_map[note_handle] #write_line(fp, "note_details(%s, %s)" % (note_handle, note)) count += 1 callback(100 * count / total) # --------------------------------- # Event # --------------------------------- for event_handle in database.event_map.keys(): event = database.event_map[event_handle] #write_line(fp, "event:", event_handle, event) count += 1 callback(100 * count / total) # --------------------------------- # Person # --------------------------------- for person_handle in database.person_map.keys(): data = database.person_map[person_handle] person = Person.create(data) gid = person.gramps_id.lower() fp.write("data(%s, '%s').\n" % (gid, escape(name_displayer.display(person)))) fp.write("is_alive(%s, '%s').\n" % (gid, probably_alive(person, database))) count += 1 callback(100 * count / total) # --------------------------------- # Family # --------------------------------- for family_handle in database.family_map.keys(): data = database.family_map[family_handle] family = Family.create(data) father_handle = family.get_father_handle() mother_handle = family.get_mother_handle() parents = [] if mother_handle: mother = database.get_person_from_handle(mother_handle) if mother: parents.append(mother.gramps_id.lower()) if father_handle: father = database.get_person_from_handle(father_handle) if father: parents.append(father.gramps_id.lower()) children = [] for child_ref in family.get_child_ref_list(): child_handle = child_ref.ref child = database.get_person_from_handle(child_handle) if child: children.append(child.gramps_id.lower()) for pid in parents: for cid in children: fp.write("parent(%s, %s).\n" % (pid, cid)) count += 1 callback(100 * count / total) # --------------------------------- # Repository # --------------------------------- for repository_handle in database.repository_map.keys(): repository = database.repository_map[repository_handle] #write_line(fp, "repository:", repository_handle, repository) count += 1 callback(100 * count / total) # --------------------------------- # Place # --------------------------------- for place_handle in database.place_map.keys(): place = database.place_map[place_handle] #write_line(fp, "place:", place_handle, place) count += 1 callback(100 * count / total) # --------------------------------- # Source # --------------------------------- for source_handle in database.source_map.keys(): source = database.source_map[source_handle] #write_line(fp, "source:", source_handle, source) count += 1 callback(100 * count / total) # --------------------------------- # Media # --------------------------------- for media_handle in database.media_map.keys(): media = database.media_map[media_handle] #write_line(fp, "media:", media_handle, media) count += 1 callback(100 * count / total) return True