def add_child_ref_default(self, obj, child, frel=1, mrel=1, private=False): object_type = ContentType.objects.get_for_model(obj) # obj is family count = models.ChildRef.objects.filter(object_id=obj.id,object_type=object_type).count() child_ref = models.ChildRef(private=private, referenced_by=obj, ref_object=child, order=count + 1, father_rel_type=models.get_type(models.ChildRefType, frel), # birth mother_rel_type=models.get_type(models.ChildRefType, mrel)) child_ref.save()
def add_child_ref_default(self, obj, child, frel=1, mrel=1, private=False): object_type = ContentType.objects.get_for_model(obj) # obj is family count = models.ChildRef.objects.filter( object_id=obj.id, object_type=object_type).count() child_ref = models.ChildRef( private=private, referenced_by=obj, ref_object=child, order=count + 1, father_rel_type=models.get_type(models.ChildRefType, frel), # birth mother_rel_type=models.get_type(models.ChildRefType, mrel)) child_ref.save()
def add_child_ref(self, obj, data): (private, citation_list, note_list, ref, frel, mrel) = data try: child = models.Person.objects.get(handle=ref) except: print(("ERROR: Person does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.ChildRef.objects.filter(object_id=obj.id,object_type=object_type).count() child_ref = models.ChildRef(private=private, referenced_by=obj, ref_object=child, order=count + 1, father_rel_type=models.get_type(models.ChildRefType, frel), mother_rel_type=models.get_type(models.ChildRefType, mrel)) child_ref.save() self.add_citation_list(child_ref, citation_list) self.add_note_list(child_ref, note_list)
def add_attribute(self, obj, attribute_data): (private, citation_list, note_list, the_type, value) = attribute_data attribute_type = models.get_type(models.AttributeType, the_type) attribute = models.Attribute(private=private, attribute_of=obj, attribute_type=attribute_type, value=value) attribute.save() self.add_citation_list(attribute, citation_list) self.add_note_list(attribute, note_list)
def add_lds(self, field, obj, data, order): (lcitation_list, lnote_list, date, type, place_handle, famc_handle, temple, status, private) = data if place_handle: try: place = models.Place.objects.get(handle=place_handle) except: print(("ERROR: Place does not exist: '%s'" % place_handle), file=sys.stderr) place = None else: place = None if famc_handle: try: famc = models.Family.objects.get(handle=famc_handle) except: print(("ERROR: Family does not exist: '%s'" % famc_handle), file=sys.stderr) famc = None else: famc = None lds = models.Lds(lds_type = models.get_type(models.LdsType, type), temple=temple, place=place, famc=famc, order=order, status = models.get_type(models.LdsStatus, status), private=private) self.add_date(lds, date) lds.save() self.add_note_list(lds, lnote_list) self.add_citation_list(lds, lcitation_list) if field == "person": lds.person = obj elif field == "family": lds.family = obj else: raise AttributeError("invalid field '%s' to attach lds" % field) lds.save() return lds
def add_child_ref(self, obj, data): (private, citation_list, note_list, ref, frel, mrel) = data try: child = models.Person.objects.get(handle=ref) except: print(("ERROR: Person does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.ChildRef.objects.filter( object_id=obj.id, object_type=object_type).count() child_ref = models.ChildRef( private=private, referenced_by=obj, ref_object=child, order=count + 1, father_rel_type=models.get_type(models.ChildRefType, frel), mother_rel_type=models.get_type(models.ChildRefType, mrel)) child_ref.save() self.add_citation_list(child_ref, citation_list) self.add_note_list(child_ref, note_list)
def add_lds(self, field, obj, data, order): (lcitation_list, lnote_list, date, type, place_handle, famc_handle, temple, status, private) = data if place_handle: try: place = models.Place.objects.get(handle=place_handle) except: print(("ERROR: Place does not exist: '%s'" % place_handle), file=sys.stderr) place = None else: place = None if famc_handle: try: famc = models.Family.objects.get(handle=famc_handle) except: print(("ERROR: Family does not exist: '%s'" % famc_handle), file=sys.stderr) famc = None else: famc = None lds = models.Lds(lds_type=models.get_type(models.LdsType, type), temple=temple, place=place, famc=famc, order=order, status=models.get_type(models.LdsStatus, status), private=private) self.add_date(lds, date) lds.save() self.add_note_list(lds, lnote_list) self.add_citation_list(lds, lcitation_list) if field == "person": lds.person = obj elif field == "family": lds.family = obj else: raise AttributeError("invalid field '%s' to attach lds" % field) lds.save() return lds
def add_note(self, data): # Unpack from the BSDDB: (handle, gid, styled_text, format, note_type, change, tag_list, private) = data text, markup_list = styled_text n = models.Note(handle=handle, gramps_id=gid, last_changed=todate(change), private=private, preformatted=format, text=text, note_type=models.get_type(models.NoteType, note_type)) #n.cache = base64.encodestring(cPickle.dumps(data)) n.save() self.save_note_markup(n, markup_list)
def add_surname_list(self, name, surname_list): order = 1 for data in surname_list: (surname_text, prefix, primary, origin_type, connector) = data surname = models.Surname() surname.surname = surname_text surname.prefix = prefix surname.primary = primary surname.name_origin_type = models.get_type(models.NameOriginType, origin_type) surname.connector = connector surname.name = name surname.order = order surname.save() order += 1
def save_note_markup(self, note, markup_list): # delete any prexisting markup: models.Markup.objects.filter(note=note).delete() count = 1 for markup in markup_list: markup_code, value, start_stop_list = markup m = models.Markup( note=note, order=count, styled_text_tag_type=models.get_type(models.StyledTextTagType, markup_code, get_or_create=False), string=value, start_stop_list=str(start_stop_list)) m.save()
def save_note_markup(self, note, markup_list): # delete any prexisting markup: models.Markup.objects.filter(note=note).delete() count = 1 for markup in markup_list: markup_code, value, start_stop_list = markup m = models.Markup(note=note, order=count, styled_text_tag_type=models.get_type( models.StyledTextTagType, markup_code, get_or_create=False), string=value, start_stop_list=str(start_stop_list)) m.save()
def add_url(self, field, obj, url_data, order): (private, path, desc, type) = url_data url = models.Url(private=private, path=path, desc=desc, order=order, url_type=models.get_type(models.UrlType, type)) if field == "person": url.person = obj elif field == "repository": url.repository = obj elif field == "place": url.place = obj else: raise AttributeError("invalid field '%s' to attach to url" % field) url.save()
def add_event_ref(self, obj, event_data): (private, note_list, attribute_list, ref, role) = event_data try: event = models.Event.objects.get(handle=ref) except: print(("ERROR: Event does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.EventRef.objects.filter(object_id=obj.id,object_type=object_type).count() event_ref = models.EventRef(private=private, referenced_by=obj, ref_object=event, order=count + 1, role_type = models.get_type(models.EventRoleType, role)) event_ref.save() self.add_note_list(event_ref, note_list) self.add_attribute_list(event_ref, attribute_list)
def add_event_ref(self, obj, event_data): (private, note_list, attribute_list, ref, role) = event_data try: event = models.Event.objects.get(handle=ref) except: print(("ERROR: Event does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.EventRef.objects.filter( object_id=obj.id, object_type=object_type).count() event_ref = models.EventRef(private=private, referenced_by=obj, ref_object=event, order=count + 1, role_type=models.get_type( models.EventRoleType, role)) event_ref.save() self.add_note_list(event_ref, note_list) self.add_attribute_list(event_ref, attribute_list)
def add_repository_ref(self, obj, reporef_data): (note_list, ref, call_number, source_media_type, private) = reporef_data try: repository = models.Repository.objects.get(handle=ref) except: print(("ERROR: Repository does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.RepositoryRef.objects.filter( object_id=obj.id, object_type=object_type).count() repos_ref = models.RepositoryRef(private=private, referenced_by=obj, call_number=call_number, source_media_type=models.get_type( models.SourceMediaType, source_media_type), ref_object=repository, order=count + 1) repos_ref.save() self.add_note_list(repos_ref, note_list)
def add_repository_ref(self, obj, reporef_data): (note_list, ref, call_number, source_media_type, private) = reporef_data try: repository = models.Repository.objects.get(handle=ref) except: print(("ERROR: Repository does not exist: '%s'" % ref), file=sys.stderr) return object_type = ContentType.objects.get_for_model(obj) count = models.RepositoryRef.objects.filter(object_id=obj.id,object_type=object_type).count() repos_ref = models.RepositoryRef(private=private, referenced_by=obj, call_number=call_number, source_media_type=models.get_type(models.SourceMediaType, source_media_type), ref_object=repository, order=count + 1) repos_ref.save() self.add_note_list(repos_ref, note_list)