diff --git a/peachjam/adapters/adapters.py b/peachjam/adapters/adapters.py index 41c535a0d..a2dfd1917 100644 --- a/peachjam/adapters/adapters.py +++ b/peachjam/adapters/adapters.py @@ -15,6 +15,7 @@ from languages_plus.models import Language from peachjam.models import ( + AlternativeName, Author, CoreDocument, DocumentNature, @@ -344,6 +345,8 @@ def update_document(self, url): ) logger.info(f"Added {len(taxonomies)} taxonomies to {created_doc}") + # fetch associated aliases + self.fetch_and_create_aliases(document, created_doc) self.set_parent(document, created_doc) self.fetch_relationships(document, created_doc) self.download_and_save_document_images(document, created_doc) @@ -539,3 +542,14 @@ def delete_document(self, expression_frbr_uri): document.delete() else: raise e + + def fetch_and_create_aliases(self, document, created_document): + aliases = document.get("aliases", []) + if aliases: + # delete all existing alternative names/aliases for doc + AlternativeName.objects.filter(document=created_document).delete() + + for alias in aliases: + AlternativeName.objects.create(document=created_document, title=alias) + + logger.info(f"Fetching of aliases for {created_document} is complete!")