From 6b6b1b076bf0f2104dacdfa0f351555bcb6c98d6 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 13:07:11 -0400 Subject: [PATCH] Made some changes so that the metadata editing page works well with the updated metadata tools. --- mediagoblin/edit/forms.py | 3 --- mediagoblin/edit/views.py | 27 +++++-------------- .../templates/mediagoblin/edit/metadata.html | 23 ---------------- .../mediagoblin/utils/metadata_table.html | 11 +++----- 4 files changed, 10 insertions(+), 54 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 7ddf603e..c2355980 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -131,6 +131,3 @@ class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( wtforms.FormField(MetaDataForm, label="") ) - context = wtforms.FieldList( - wtforms.FormField(MetaDataForm, label="") - ) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 4ab3fe01..34021257 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -33,6 +33,7 @@ from mediagoblin.decorators import (require_active_login, active_user_from_url, get_user_collection, user_has_privilege, user_not_banned) from mediagoblin.tools.crypto import get_timed_signer_url +from mediagoblin.tools.metadata import compact_and_validate from mediagoblin.tools.mail import email_debug_message from mediagoblin.tools.response import (render_to_response, redirect, redirect_obj, render_404) @@ -441,32 +442,19 @@ def change_email(request): def edit_metadata(request, media): form = forms.EditMetaDataForm(request.form) if request.method == "POST" and form.validate(): - context = dict([(row['identifier'],row['value']) - for row in form.context.data]) metadata_dict = dict([(row['identifier'],row['value']) for row in form.media_metadata.data]) - # TODO VALIDATE THIS BEFORE WE ENTER IT - # validate(metadata_dict) - # validate(context) - json_ld_metadata = jsonld.compact(metadata_dict, context) - # media.media_metadata = json_ld_metadata - # media.save() + json_ld_metadata = compact_and_validate(metadata_dict) + media.media_metadata = json_ld_metadata + media.save() return redirect_obj(request, media) if media.media_metadata: - for row in media.media_metadata.iteritems(): - if row[0] == "@context": continue - identifier = row[0] - # TODO Will change when we revert the metadata branch - value = row[1]['@value'] + for identifier, value in media.media_metadata.iteritems(): + if identifier == "@context": continue form.media_metadata.append_entry({ 'identifier':identifier, 'value':value}) - for row in media.media_metadata['@context'].iteritems(): - identifier, value = row[0:2] - form.context.append_entry({ - 'identifier':identifier, - 'value':value}) else: form.media_metadata.append_entry({ 'identifier':"", @@ -474,9 +462,6 @@ def edit_metadata(request, media): form.media_metadata.append_entry({ 'identifier':"", 'value':""}) - form.context.append_entry({ - 'identifier':"", - 'value':""}) return render_to_response( request, 'mediagoblin/edit/metadata.html', diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index d5d1fec5..b5a52e5f 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -49,7 +49,6 @@ } $(document).ready(function(){ - var context_lines = {{ form.context | length }}; var metadata_lines = {{ form.media_metadata | length }}; $("#add_new_metadata_row").click(function(){ add_new_row("#metadata_list", @@ -57,14 +56,8 @@ 'media_metadata-'); metadata_lines += 1; }) - $("#add_new_context_row").click(function(){ - add_new_row("#context_list", - context_lines, - 'context-'); - context_lines += 1; }) $("#clear_empty_rows").click(function(){ - clear_empty_rows("#context_list"); clear_empty_rows("#metadata_list"); }) }) @@ -74,22 +67,6 @@

{% trans media_name=media.title -%} Metadata for "{{ media_name }}"{% endtrans %}

- -

{% trans %}Context{% endtrans %}

- - {{ wtforms_util.render_fieldlist_as_table_rows(form.context) }} - - - - - - - - - -

{% trans %}Data{% endtrans %}

diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 0c67264a..b4c37dbd 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -20,16 +20,13 @@ {%- set metadata=media_entry.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} - - {%- for key, value_dict in metadata.iteritems() if not key=='@context' %} - {% if value_dict['@value'] -%} +
+ {%- for key, value in metadata.iteritems() if not key=='@context' %} - + - {%- endif -%} {%- endfor %}
{{ format_predicate(key) }} - {{ value_dict['@value'] }} + {{ value }}
{% endif %} -- 2.25.1