aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/edit/views.py
diff options
context:
space:
mode:
authortilly-Q <nattilypigeonfowl@gmail.com>2014-05-06 17:19:30 -0400
committertilly-Q <nattilypigeonfowl@gmail.com>2014-05-06 17:19:30 -0400
commit9919fb08a4d56f5976a6fef0fc70b2ee6c751759 (patch)
treeb906bd71a2c80d5dac8bad30383ce095755f9835 /mediagoblin/edit/views.py
parente80596c80eb06e6d199795e59dcc37b27d77fe55 (diff)
downloadmediagoblin-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.py16
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