Created the basic structure of the metadata display table in rdfa lite

This commit is contained in:
tilly-Q 2014-04-21 15:42:57 -04:00
parent 7ff99dabfb
commit 8ccd560ca2
4 changed files with 45 additions and 2 deletions

View File

@ -18,6 +18,7 @@
{%- 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 %}
@ -231,6 +232,7 @@
{% template_hook("media_sideinfo") %}
{% block mediagoblin_sidebar %}
{{ metadata_util.render_table(request, media, rdfa_to_readable) }}
{% endblock %}
</div><!--end media_sidebar-->

View File

@ -0,0 +1,37 @@
{#
# 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 %}

View File

@ -116,3 +116,6 @@ 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

View 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)
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
@ -152,7 +152,8 @@ def media_home(request, media, page, **kwargs):
'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