{%- 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 }} — {{ super() }}{% endblock %}
{% template_hook("media_sideinfo") %}
{% block mediagoblin_sidebar %}
+ {{ metadata_util.render_table(request, media, rdfa_to_readable) }}
{% endblock %}
</div><!--end media_sidebar-->
--- /dev/null
+{#
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# 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 %}
+ <table prefix="{%- for prefix in metadata_context -%}
+ {{ prefix }} {{ metadata_context[prefix] }}
+ {%- endfor %}">
+ {%- for key, value in metadata.iteritems() if not key=='@context' %}
+ <tr>
+ <td>{{ format_predicate(key) }}</td>
+ {% if value -%}
+ <td property="{{ key }}">{{ value }}</td>
+ {%- else -%}
+ <td></td>
+ {%- endif -%}
+ {%- endfor %}
+ </table>
+ {% endif %}
+{%- endmacro %}
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
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)
+ add_media_to_collection, build_report_object, rdfa_to_readable)
from mediagoblin.notifications import trigger_notification, \
add_comment_subscription, mark_comment_notification_seen
from mediagoblin.tools.pluginapi import hook_transform
'comments': comments,
'pagination': pagination,
'comment_form': comment_form,
- 'app_config': mg_globals.app_config}
+ 'app_config': mg_globals.app_config,
+ 'rdfa_to_readable':rdfa_to_readable}
# Since the media template name gets swapped out for each media
# type, normal context hooks don't work if you want to affect all