diff options
author | tilly-Q <nattilypigeonfowl@gmail.com> | 2014-04-21 15:42:57 -0400 |
---|---|---|
committer | tilly-Q <nattilypigeonfowl@gmail.com> | 2014-04-21 15:42:57 -0400 |
commit | 8ccd560ca2c480bb55f8caf1ddc035731eee11ca (patch) | |
tree | 40272e307461c034db38d6d1888b6b0a2a9fc0b7 | |
parent | 7ff99dabfbb3e854afe2aba17a79a0aee9062e44 (diff) | |
download | mediagoblin-8ccd560ca2c480bb55f8caf1ddc035731eee11ca.tar.lz mediagoblin-8ccd560ca2c480bb55f8caf1ddc035731eee11ca.tar.xz mediagoblin-8ccd560ca2c480bb55f8caf1ddc035731eee11ca.zip |
Created the basic structure of the metadata display table in rdfa lite
-rw-r--r-- | mediagoblin/templates/mediagoblin/user_pages/media.html | 2 | ||||
-rw-r--r-- | mediagoblin/templates/mediagoblin/utils/metadata_table.html | 37 | ||||
-rw-r--r-- | mediagoblin/user_pages/lib.py | 3 | ||||
-rw-r--r-- | mediagoblin/user_pages/views.py | 5 |
4 files changed, 45 insertions, 2 deletions
diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index e01cce5c..22971fec 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -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--> diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html new file mode 100644 index 00000000..38b580d5 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -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 %} diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index e5c8defc..83a99cee 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -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 diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 78751a28..f42eae1f 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -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 |