def edit_metadata(request, media): # If media is not processed, return NotFound. if not media.state == 'processed': return render_404(request) form = forms.EditMetaDataForm(request.method == 'POST' and request.form or None) if request.method == "POST" and form.validate(): metadata_dict = { row['identifier']: row['value'] for row in form.media_metadata.data } json_ld_metadata = None json_ld_metadata = compact_and_validate(metadata_dict) media.media_metadata = json_ld_metadata media.save() return redirect_obj(request, media) if len(form.media_metadata) == 0: for identifier, value in media.media_metadata.items(): if identifier == "@context": continue form.media_metadata.append_entry({ 'identifier': identifier, 'value': value }) return render_to_response(request, 'mediagoblin/edit/metadata.html', { 'form': form, 'media': media })
def edit_metadata(request, media): form = forms.EditMetaDataForm(request.form) if request.method == "POST" and form.validate(): metadata_dict = dict([(row['identifier'], row['value']) for row in form.media_metadata.data]) json_ld_metadata = None json_ld_metadata = compact_and_validate(metadata_dict) media.media_metadata = json_ld_metadata media.save() return redirect_obj(request, media) if len(form.media_metadata) == 0: for identifier, value in media.media_metadata.iteritems(): if identifier == "@context": continue form.media_metadata.append_entry({ 'identifier': identifier, 'value': value }) return render_to_response(request, 'mediagoblin/edit/metadata.html', { 'form': form, 'media': media })