Skip to content

Commit

Permalink
Merge pull request #29 from GLAM-Workbench/update
Browse files Browse the repository at this point in the history
add Trove urls
  • Loading branch information
wragge committed May 15, 2024
2 parents 4fb6853 + 00dbf4b commit b0edb6d
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions save-image-collection-iiif.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@
" return title\n",
"\n",
"\n",
"def prepare_metadata(item_metadata):\n",
"def prepare_metadata(item_metadata, item_url):\n",
" \"\"\"\n",
" Extract useful metadata from the item metadata and save to\n",
" a dict for addition to manifest.\n",
Expand All @@ -332,17 +332,18 @@
" dates = get_date_range(item_metadata)\n",
" if dates:\n",
" metadata[\"date\"] = \"-\".join(dates)\n",
" metadata[\"url\"] = f'<a href=\"{item_url}\">{item_url}</a>'\n",
" return metadata\n",
"\n",
"\n",
"# CODE FOR IIIF PRESENTATION API V3\n",
"\n",
"\n",
"def add_metadata_v3(iiif_obj, item_metadata):\n",
"def add_metadata_v3(iiif_obj, item_metadata, item_url):\n",
" \"\"\"\n",
" Add metadata from the item to the IIIF object.\n",
" \"\"\"\n",
" metadata = prepare_metadata(item_metadata)\n",
" metadata = prepare_metadata(item_metadata, item_url)\n",
" for k, v in metadata.items():\n",
" iiif_obj.add_metadata(k, v)\n",
"\n",
Expand Down Expand Up @@ -383,7 +384,7 @@
" canvas.set_hwd(height=dimensions[\"height\"], width=dimensions[\"width\"])\n",
" canvas.add_thumbnail(f\"{item_url}-t\", format=\"image/jpeg\")\n",
" add_homepage(canvas, item_id)\n",
" add_metadata_v3(canvas, item_metadata)\n",
" add_metadata_v3(canvas, item_metadata, item_url)\n",
"\n",
" # Add the image to the canvas\n",
" canvas.add_image(\n",
Expand Down Expand Up @@ -458,7 +459,7 @@
" and assembles them as a manifest, with each digitised image included as a canvas.\n",
" \"\"\"\n",
" coll_metadata = get_work_data(coll_id)\n",
"\n",
" coll_url = f\"https://nla.gov.au/{coll_id}\"\n",
" # If there's no metadata in the page (such as with a finding aid)\n",
" # get the page title.\n",
" if not coll_metadata:\n",
Expand All @@ -475,7 +476,7 @@
" manifest = Manifest(id=manifest_id, label=coll_metadata.get(\"title\", \"No title\"))\n",
" manifest.summary = f\"This manifest was generated on {datetime.now().strftime('%d %b %Y')} by harvesting collection metadata from the Trove website.\"\n",
" add_homepage(manifest, coll_id)\n",
" add_metadata_v3(manifest, coll_metadata)\n",
" add_metadata_v3(manifest, coll_metadata, coll_url)\n",
"\n",
" # Get items in this collection and construct item list and range structures.\n",
" items = harvest_collection_items(coll_id, include_subcollections=True)\n",
Expand All @@ -490,11 +491,11 @@
"# CODE FOR IIIF V2 PRESENTATION API\n",
"\n",
"\n",
"def add_metadata_v2(iiif_obj, item_metadata):\n",
"def add_metadata_v2(iiif_obj, item_metadata, item_url):\n",
" \"\"\"\n",
" Add metadata to an v2 IIIF object (manifest or canvas)\n",
" \"\"\"\n",
" metadata = prepare_metadata(item_metadata)\n",
" metadata = prepare_metadata(item_metadata, item_url)\n",
" if metadata:\n",
" iiif_obj.set_metadata(metadata)\n",
"\n",
Expand Down Expand Up @@ -530,7 +531,7 @@
" title = prepare_item_title(item_metadata, index, using_parent)\n",
" canvas = seq.canvas(ident=item_url, label=title)\n",
" canvas.set_hw(dimensions[\"height\"], dimensions[\"width\"])\n",
" add_metadata_v2(canvas, item_metadata)\n",
" add_metadata_v2(canvas, item_metadata, item_url)\n",
" canvas.thumbnail = {\"@id\": f\"{item_url}-t\"}\n",
"\n",
" # Add image info to the canvas\n",
Expand Down Expand Up @@ -612,7 +613,7 @@
"\n",
" # Build the Manifest\n",
" mf = fac.manifest(ident=manifest_id, label=coll_metadata.get(\"title\"))\n",
" add_metadata_v2(mf, coll_metadata)\n",
" add_metadata_v2(mf, coll_metadata, coll_url)\n",
" mf.attribution = (\n",
" f\"National Library of Australia (via Trove). See: https://nla.gov.au/{coll_id}\"\n",
" )\n",
Expand Down Expand Up @@ -673,9 +674,6 @@
"id": "da0a64c8-afcf-4f49-96bb-1693e7c038b6",
"metadata": {
"editable": true,
"jupyter": {
"source_hidden": true
},
"slideshow": {
"slide_type": ""
},
Expand All @@ -686,7 +684,8 @@
"# IGNORE THIS CELL -- TESTING ONLY\n",
"\n",
"if os.getenv(\"GW_STATUS\") == \"dev\":\n",
" create_manifest_v3(\"nla.obj-140670968\")"
" create_manifest_v3(\"nla.obj-140670968\")\n",
" create_manifest_v2(\"nla.obj-140670968\")"
]
},
{
Expand Down

0 comments on commit b0edb6d

Please sign in to comment.