From 05751758469a03835975dd2998aa727fa29c9a16 Mon Sep 17 00:00:00 2001 From: Elrond Date: Sat, 24 Dec 2011 00:08:28 +0100 Subject: [PATCH] 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. --- mediagoblin/db/mongo/models.py | 3 ++- mediagoblin/listings/views.py | 2 +- .../templates/mediagoblin/edit/attachments.html | 2 +- mediagoblin/templates/mediagoblin/edit/edit.html | 2 +- .../templates/mediagoblin/user_pages/media.html | 14 +++++++------- .../user_pages/media_confirm_delete.html | 2 +- mediagoblin/user_pages/views.py | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/mediagoblin/db/mongo/models.py b/mediagoblin/db/mongo/models.py index 8cd0da1b..5de59c12 100644 --- a/mediagoblin/db/mongo/models.py +++ b/mediagoblin/db/mongo/models.py @@ -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}) diff --git a/mediagoblin/listings/views.py b/mediagoblin/listings/views.py index 6b83ffcf..3ecf06f4 100644 --- a/mediagoblin/listings/views.py +++ b/mediagoblin/listings/views.py @@ -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)) diff --git a/mediagoblin/templates/mediagoblin/edit/attachments.html b/mediagoblin/templates/mediagoblin/edit/attachments.html index 6a5ab896..124d0313 100644 --- a/mediagoblin/templates/mediagoblin/edit/attachments.html +++ b/mediagoblin/templates/mediagoblin/edit/attachments.html @@ -20,7 +20,7 @@ {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} {% block mediagoblin_content %}
diff --git a/mediagoblin/templates/mediagoblin/edit/edit.html b/mediagoblin/templates/mediagoblin/edit/edit.html index aa46af3d..2dfaddc8 100644 --- a/mediagoblin/templates/mediagoblin/edit/edit.html +++ b/mediagoblin/templates/mediagoblin/edit/edit.html @@ -22,7 +22,7 @@ {% block mediagoblin_content %}
diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index 77461983..13fa1baa 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -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) %} {% trans %}Edit{% endtrans %} {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete', - user= media.get_uploader().username, + user= media.get_uploader.username, media= media._id) %} {% trans %}Delete{% endtrans %} {% endif %} @@ -95,7 +95,7 @@ {# 0 comments. Be the first to add one! #} {% if request.user %}

{% trans %}Type your comment here. You can use Markdown for formatting.{% endtrans %} @@ -128,7 +128,7 @@ {% trans %}at{% endtrans %} {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }} @@ -142,8 +142,8 @@

{% 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 -%}

❖ Browsing media by {{ username }}

{%- endtrans %} {% include "mediagoblin/utils/prev_next.html" %} @@ -164,7 +164,7 @@ or request.user.is_admin) %}

Add attachment

{% endif %} diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html index 7c7218ae..6c483769 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html @@ -22,7 +22,7 @@ {% block mediagoblin_content %}
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 449e3b1c..f721f012 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -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)