diff --git a/docs/metadata/validate_codemeta.ipynb b/docs/metadata/validate_codemeta.ipynb index e5af8e15fa8307b0fde319f8b7dc1ead3b28e98c..a0b87aa6d4c0bbf48ecd7427de77ca72ad864ea6 100644 --- a/docs/metadata/validate_codemeta.ipynb +++ b/docs/metadata/validate_codemeta.ipynb @@ -29,6 +29,7 @@ "import ipywidgets as widgets\n", "from eossr.metadata import codemeta\n", "from eossr.metadata import codemeta2zenodo\n", + "from eossr.api import Record\n", "import json" ] }, @@ -68,6 +69,27 @@ " \n", "load_button.on_click(load)\n", " \n", + " \n", + "## FROM ZENODO RECORD\n", + "\n", + "def read_from_record_id(record_id):\n", + " rec = Record.from_id(record_id)\n", + " meta = rec.get_codemeta()\n", + " return meta\n", + "\n", + "record_id = widgets.IntText(description=\"Record ID:\",\n", + " layout=widgets.Layout(width='300px')\n", + " )\n", + "\n", + "load_record_button = widgets.Button(description=\"Load\")\n", + "\n", + "def load_record(b):\n", + " try:\n", + " text.value = str(json.dumps(read_from_record_id(record_id.value), indent=4))\n", + " except:\n", + " text.value = f\"Could not get codemeta from record {record_id.value}\"\n", + "\n", + "load_record_button.on_click(load_record)\n", "\n", "## FROM UPLOAD\n", "\n", @@ -98,8 +120,8 @@ " \n", " except json.JSONDecodeError:\n", " output.value = \"Invalid JSON input\"\n", - " except:\n", - " output.value = \"There is an error, this can't be processed.\"\n", + " except Exception as e:\n", + " output.value = f\"Error `{e}`, this can't be processed.\"\n", " \n", "validate_button.on_click(validate)\n", "\n", @@ -139,12 +161,19 @@ "metadata": {}, "outputs": [], "source": [ - "print(\"Load codemeta from a json file\\n\")\n", + "print(\"Load codemeta from a \\033[95mjson file\\n\")\n", "display(upload)\n", "display(load_label)\n", + "print(\"\\n\")\n", + "\n", "\n", + "blue='\\033[94m'\n", + "print(f\"Load codemeta from a \\033[94mZenodo record ID\\n\")\n", + "display(record_id)\n", + "display(load_record_button)\n", "print(\"\\n\")\n", - "print(\"Load codemeta from an URL\\n\")\n", + "\n", + "print(\"Load codemeta from an \\033[93mURL\\n\")\n", "display(url)\n", "display(load_button)\n", "print(\"\\n\")\n",