Turn media.get_uploader into a property

sqlalchemy gives autoloading (hopefully caching) link to
other objects as properties. So turn get_uploader on the
current mongo based stuff into a property to ease
transition.
This commit is contained in:
Elrond 2011-12-24 00:08:28 +01:00
parent 0eb649ff7a
commit 0575175846
7 changed files with 14 additions and 13 deletions

View File

@ -261,7 +261,7 @@ class MediaEntry(Document):
Use a slug if we have one, else use our '_id'.
"""
uploader = self.get_uploader()
uploader = self.get_uploader
if self.get('slug'):
return urlgen(
@ -297,6 +297,7 @@ class MediaEntry(Document):
for media in cursor:
return media.url_for_self(urlgen)
@property
def get_uploader(self):
return self.db.User.find_one({'_id': self.uploader})

View File

@ -86,7 +86,7 @@ def tag_atom_feed(request):
feed.add(entry.get('title'),
entry.get('description_html'),
content_type='html',
author=entry.get_uploader().username,
author=entry.get_uploader.username,
updated=entry.get('created'),
url=entry.url_for_self(request.urlgen))

View File

@ -20,7 +20,7 @@
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.edit.attachments',
user= media.get_uploader().username,
user= media.get_uploader.username,
media= media._id) }}"
method="POST" enctype="multipart/form-data">
<div class="grid_8 prefix_1 suffix_1 edit_box form_box">

View File

@ -22,7 +22,7 @@
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.edit.edit_media',
user= media.get_uploader().username,
user= media.get_uploader.username,
media= media._id) }}"
method="POST" enctype="multipart/form-data">
<div class="grid_8 prefix_1 suffix_1 edit_box form_box">

View File

@ -72,11 +72,11 @@
{% if media['uploader'] == request.user._id or
request.user['is_admin'] %}
{% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
user= media.get_uploader().username,
user= media.get_uploader.username,
media= media._id) %}
<a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
{% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
user= media.get_uploader().username,
user= media.get_uploader.username,
media= media._id) %}
<a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
{% endif %}
@ -95,7 +95,7 @@
{# 0 comments. Be the first to add one! #}
{% if request.user %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
user= media.get_uploader().username,
user= media.get_uploader.username,
media=media._id) }}" method="POST" id="form_comment">
<p>
{% trans %}Type your comment here. You can use <a href="http://daringfireball.net/projects/markdown/basics" target="_blank">Markdown</a> for formatting.{% endtrans %}
@ -128,7 +128,7 @@
{% trans %}at{% endtrans %}
<a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
comment = comment._id,
user = media.get_uploader().username,
user = media.get_uploader.username,
media = media.slug) }}#comment">
{{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
</a>
@ -142,8 +142,8 @@
<div class="grid_5 omega">
{% trans user_url=request.urlgen(
'mediagoblin.user_pages.user_home',
user=media.get_uploader().username),
username=media.get_uploader().username -%}
user=media.get_uploader.username),
username=media.get_uploader.username -%}
<p>❖ Browsing media by <a href="{{ user_url }}">{{ username }}</a></p>
{%- endtrans %}
{% include "mediagoblin/utils/prev_next.html" %}
@ -164,7 +164,7 @@
or request.user.is_admin) %}
<p>
<a href="{{ request.urlgen('mediagoblin.edit.attachments',
user=media.get_uploader().username,
user=media.get_uploader.username,
media=media._id) }}">Add attachment</a>
</p>
{% endif %}

View File

@ -22,7 +22,7 @@
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_confirm_delete',
user=media.get_uploader().username,
user=media.get_uploader.username,
media=media._id) }}"
method="POST" enctype="multipart/form-data">
<div class="grid_8 prefix_1 suffix_1 edit_box form_box">

View File

@ -173,7 +173,7 @@ def media_confirm_delete(request, media):
if request.method == 'POST' and form.validate():
if form.confirm.data is True:
username = media.get_uploader().username
username = media.get_uploader.username
# Delete all files on the public storage
delete_media_files(media)