aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/fatcat_web/routes.py11
-rw-r--r--python/fatcat_web/templates/entity_view_metadata.html10
2 files changed, 17 insertions, 4 deletions
diff --git a/python/fatcat_web/routes.py b/python/fatcat_web/routes.py
index 2f29b9e6..c1b5f929 100644
--- a/python/fatcat_web/routes.py
+++ b/python/fatcat_web/routes.py
@@ -266,6 +266,8 @@ def work_lookup() -> AnyResponse:
### More Generic Entity Views ###############################################
+GENERIC_ENTITY_FIELDS = ["extra", "edit_extra", "revision", "redirect", "state", "ident"]
+
def generic_entity_view(entity_type: str, ident: str, view_template: str) -> AnyResponse:
entity = generic_get_entity(entity_type, ident)
@@ -276,7 +278,8 @@ def generic_entity_view(entity_type: str, ident: str, view_template: str) -> Any
return render_template("deleted_entity.html", entity_type=entity_type, entity=entity)
metadata = entity.to_dict()
- metadata.pop("extra")
+ for k in GENERIC_ENTITY_FIELDS:
+ metadata.pop(k)
entity._metadata = metadata
if view_template == "container_view.html":
@@ -299,7 +302,8 @@ def generic_entity_revision_view(
entity = generic_get_entity_revision(entity_type, revision_id)
metadata = entity.to_dict()
- metadata.pop("extra")
+ for k in GENERIC_ENTITY_FIELDS:
+ metadata.pop(k)
entity._metadata = metadata
return render_template(
@@ -323,7 +327,8 @@ def generic_editgroup_entity_view(
)
metadata = entity.to_dict()
- metadata.pop("extra")
+ for k in GENERIC_ENTITY_FIELDS:
+ metadata.pop(k)
entity._metadata = metadata
return render_template(
diff --git a/python/fatcat_web/templates/entity_view_metadata.html b/python/fatcat_web/templates/entity_view_metadata.html
index d1bd3c30..80aaf19c 100644
--- a/python/fatcat_web/templates/entity_view_metadata.html
+++ b/python/fatcat_web/templates/entity_view_metadata.html
@@ -5,7 +5,15 @@
{% block entity_main %}
<h3>Entity Metadata (schema)</h3>
-{{ entity_macros.extra_metadata(entity._metadata) }}
+{% if entity._metadata %}
+ {{ entity_macros.extra_metadata(entity._metadata) }}
+{% else %}
+ <table class="ui definition single line fixed compact small unstackable table">
+ <tbody>
+ <tr><td class="center aligned"><i>No specific metadata for this entity</i></td>
+ </tbody>
+ </table>
+{% endif %}
<div style="float: right;">
<a href="{{ config.FATCAT_PUBLIC_API_HOST }}/{{ entity_type }}/{{ entity.ident }}">As JSON via API</a>
</div>