Big update. I added in a json-ld context file which will be used in all our
authortilly-Q <nattilypigeonfowl@gmail.com>
Tue, 18 Mar 2014 20:49:48 +0000 (16:49 -0400)
committertilly-Q <nattilypigeonfowl@gmail.com>
Sun, 23 Mar 2014 20:40:12 +0000 (16:40 -0400)
metadata columns in the future. The context describes the dublin core elements.
It still has not been finalized however.

mediagoblin/routing.py
mediagoblin/templates/mediagoblin/metadata_contexts/v1 [new file with mode: 0644]
mediagoblin/views.py
setup.py

index 1393f01c6a175417b818bb9096a45e79d2343eef..a6b2a543756d1ece2ca2ece2e5a6b05eeec77979 100644 (file)
@@ -28,7 +28,9 @@ _log = logging.getLogger(__name__)
 def get_url_map():
     add_route('index', '/', 'mediagoblin.views:root_view')
     add_route('terms_of_service','/terms_of_service',
-        'mediagoblin.views:terms_of_service')
+        'mediagoblin.views:terms_of_service'),
+    add_route('metadata_context','/metadata_context/v<int:version_number>/',
+        'mediagoblin.views:metadata_context_view'),
     mount('/auth', auth_routes)
     mount('/mod', moderation_routes)
 
diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1
new file mode 100644 (file)
index 0000000..1325d92
--- /dev/null
@@ -0,0 +1,70 @@
+{
+  "@context": {
+    "dc": "http://purl.org/dc/elements/1.1/",
+    "xsd": "http://www.w3.org/2001/XMLSchema#",
+    "contributor":{
+      "@id":"dc:title",
+      "@type":"xsd:string"
+    },
+    "coverage":{
+      "@id":"dc:coverage",
+      "@type":"xsd:string"
+    },
+    "created":{
+      "@id":"dc:created",
+      "@type":"xsd:date"
+    },
+    "creator":{
+      "@id":"dc:created",
+      "@type":"xsd:date"
+    },
+    "date":{
+      "@id":"dc:date",
+      "@type":"xsd:date"
+    },
+    "description":{
+      "@id":"dc:description",
+      "@type":"xsd:string"
+    },
+    "format":{
+      "@id":"dc:format",
+      "@type":"xsd:string"
+    },
+    "identifier":{
+      "@id":"dc:identifier",
+      "@type":"xsd:string"
+    },
+    "language":{
+      "@id":"dc:language",
+      "@type":"xsd:string"
+    },
+    "publisher":{
+      "@id":"dc:publisher",
+      "@type":"xsd:string"
+    },
+    "relation":{
+      "@id":"dc:relation",
+      "@type":"xsd:string"
+    },
+    "rights":{
+      "@id":"dc:rights",
+      "@type":"xsd:anyURI"
+    },
+    "source":{
+      "@id":"dc:source",
+      "@type":"xsd:string"
+    },
+       "subject":{
+      "@id":"dc:subject",
+      "@type":"xsd:string"
+    },
+    "title": {
+      "@id":"dc:title",
+      "@type":"xsd:string"
+    },
+    "type":{
+      "@id":"dc:type",
+      "@type":"xsd:string"
+    }
+  }
+}
index 009e48e48b510edd54e1a840e60828b1236a78c3..1ed71473c2e001505e5743cd25a7c7f4b5a79f8a 100644 (file)
@@ -62,3 +62,9 @@ def terms_of_service(request):
 
     return render_to_response(request,
         'mediagoblin/terms_of_service.html', {})
+
+def metadata_context_view(request):
+    version = request.matchdict['version_number']
+    return render_to_response(request,
+        'mediagoblin/metadata_contexts/v{version}'.format(
+            version=version), {})
index d3f9168634f035e1adca04e891fd4a1d6a4c4892..93873d73b8e565b04de051f85d8a8e170da58aae 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -66,6 +66,7 @@ try:
         'six>=1.4.1',
         'oauthlib==0.5.0',
         'unidecode',
+        'jsonschema',
 
         ## Annoying.  Please remove once we can!  We only indirectly
         ## use pbr, and currently it breaks things, presumably till