diff options
author | tilly-Q <nattilypigeonfowl@gmail.com> | 2014-05-06 17:19:30 -0400 |
---|---|---|
committer | tilly-Q <nattilypigeonfowl@gmail.com> | 2014-05-06 17:19:30 -0400 |
commit | 9919fb08a4d56f5976a6fef0fc70b2ee6c751759 (patch) | |
tree | b906bd71a2c80d5dac8bad30383ce095755f9835 /mediagoblin/edit/views.py | |
parent | e80596c80eb06e6d199795e59dcc37b27d77fe55 (diff) | |
download | mediagoblin-9919fb08a4d56f5976a6fef0fc70b2ee6c751759.tar.lz mediagoblin-9919fb08a4d56f5976a6fef0fc70b2ee6c751759.tar.xz mediagoblin-9919fb08a4d56f5976a6fef0fc70b2ee6c751759.zip |
Made it so the metadata editting page is only one step away from functioning
correctly.
Diffstat (limited to 'mediagoblin/edit/views.py')
-rw-r--r-- | mediagoblin/edit/views.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index e3dd82ab..496df6b9 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -17,6 +17,7 @@ from datetime import datetime from itsdangerous import BadSignature +from pyld import jsonld from werkzeug.exceptions import Forbidden from werkzeug.utils import secure_filename @@ -438,7 +439,20 @@ def change_email(request): @require_active_login @get_media_entry_by_id def edit_metadata(request, media): - form = forms.EditMetaDataForm() + 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() + return redirect_obj(request, media) + if media.media_metadata: for row in media.media_metadata.iteritems(): if row[0] == "@context": continue |