Move the metadata display table over to being contained in a plugin
authorChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 12 May 2014 19:50:58 +0000 (14:50 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Mon, 12 May 2014 19:50:58 +0000 (14:50 -0500)
mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html [moved from mediagoblin/templates/mediagoblin/utils/metadata_table.html with 51% similarity]
mediagoblin/templates/mediagoblin/user_pages/media.html
mediagoblin/tools/metadata.py
mediagoblin/user_pages/lib.py
mediagoblin/user_pages/views.py

similarity index 51%
rename from mediagoblin/templates/mediagoblin/utils/metadata_table.html
rename to mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html
index 3281c81c6cceb4e25399d1d1a0d308e761a343ac..db12f1495a3403b25fdc60f054a4cb1ab52164d0 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #}
 
-{%- macro render_table(request, media_entry, format_predicate) %}
-  {%- set metadata=media_entry.media_metadata %}
-  {%- set metadata_context=metadata['@context'] %}
-  {%- if metadata %}
-      {#- NOTE: In some smart future where the context is more extensible,
-            we will need to add to the prefix here-#}
-      <table>
-        {%- for key, value_dict in metadata.iteritems() if not key=='@context' %}
-          {% if value_dict['@value'] -%}
-            <tr>
-              <td>{{ format_predicate(key) }}</td>
-              <td property="{{ key }}" typeof="{{ value_dict['@type'] }}">
-                {{ value_dict['@value'] }}</td>
-            </tr>
-          {%- endif -%}
-        {%- endfor %}
-      </table>
-  {% endif %}
-{%- endmacro %}
+{%- set metadata=media.media_metadata %}
+{%- set metadata_context=metadata['@context'] %}
+{%- if metadata %}
+  {#- NOTE: In some smart future where the context is more extensible,
+        we will need to add to the prefix here-#}
+  <table>
+    {%- for key, value in metadata.iteritems() if not key=='@context' %}
+      {% if value -%}
+        <tr>
+          <td>{{ rdfa_to_readable(key) }}</td>
+          <td property="{{ key }}">{{ value }}</td>
+        </tr>
+      {%- endif -%}
+    {%- endfor %}
+  </table>
+{% endif %}
index 22971fec6a06cb805e96c117389072f3a202efad..949cbcde6d0ec92fe42a8721b47ed38b9388f6c9 100644 (file)
@@ -18,7 +18,6 @@
 {%- extends "mediagoblin/base.html" %}
 
 {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
-{% import "/mediagoblin/utils/metadata_table.html" as metadata_util %}
 {% from "mediagoblin/utils/pagination.html" import render_pagination %}
 
 {% block title %}{{ media.title }} &mdash; {{ super() }}{% endblock %}
 
     {% template_hook("media_sideinfo") %}
 
-    {% block mediagoblin_sidebar %}
-       {{ metadata_util.render_table(request, media, rdfa_to_readable) }}
-    {% endblock %}
-
   </div><!--end media_sidebar-->
 
   <div class="clear"></div>
index 7de5a51423d92068f2f700989b2dfb47ac2ff5a3..3f10e9d12c23b4de6a1aeaaeea98a6e083cb5cb3 100644 (file)
@@ -211,3 +211,8 @@ def expand_json(metadata, context=DEFAULT_CONTEXT):
     if context is not None:
         options["expandContext"] = context
     return jsonld.expand(metadata, options=options)
+
+
+def rdfa_to_readable(rdfa_predicate):
+    readable = rdfa_predicate.split(u":")[1].capitalize()
+    return readable
index 83a99ceeda2727a315fe22b113bc52ce6ef892a6..e5c8defcabe33b2729d12b20c2a0f85faa478d02 100644 (file)
@@ -116,6 +116,3 @@ def build_report_object(report_form, media_entry=None, comment=None):
     report_object.reporter_id = report_form.reporter_id.data
     return report_object
 
-def rdfa_to_readable(rdfa_predicate):
-    readable = rdfa_predicate.split(u":")[1].capitalize()
-    return readable
index f42eae1fe3e83b4b98656cbcaacded0763cdb08e..78751a28f85ef0d2ccc794618c2ba0b71b7033c0 100644 (file)
@@ -28,7 +28,7 @@ from mediagoblin.tools.translate import pass_to_ugettext as _
 from mediagoblin.tools.pagination import Pagination
 from mediagoblin.user_pages import forms as user_forms
 from mediagoblin.user_pages.lib import (send_comment_email,
-       add_media_to_collection, build_report_object, rdfa_to_readable)
+       add_media_to_collection, build_report_object)
 from mediagoblin.notifications import trigger_notification, \
     add_comment_subscription, mark_comment_notification_seen
 from mediagoblin.tools.pluginapi import hook_transform
@@ -152,8 +152,7 @@ def media_home(request, media, page, **kwargs):
         'comments': comments,
         'pagination': pagination,
         'comment_form': comment_form,
-        'app_config': mg_globals.app_config,
-        'rdfa_to_readable':rdfa_to_readable}
+        'app_config': mg_globals.app_config}
 
     # Since the media template name gets swapped out for each media
     # type, normal context hooks don't work if you want to affect all