diff options
Diffstat (limited to 'mediagoblin/edit/views.py')
-rw-r--r-- | mediagoblin/edit/views.py | 27 |
1 files changed, 6 insertions, 21 deletions
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', |