From 1e814968bd5909e0914b70ff89d9ae9dd4b29c7b Mon Sep 17 00:00:00 2001
From: Michele Azzolari <macno@macno.org>
Date: Thu, 29 Dec 2011 16:45:54 +0000
Subject: [PATCH] Fixed #724 and added some more infos to the atom (author uri and links to the html version)
---
mediagoblin/db/mongo/models.py | 6 +++---
mediagoblin/listings/views.py | 9 +++++----
mediagoblin/user_pages/views.py | 11 +++++++----
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/mediagoblin/db/mongo/models.py b/mediagoblin/db/mongo/models.py
index 5de59c1..c44a2a8 100644
a
|
b
|
class MediaEntry(Document):
|
255 | 255 | if duplicate: |
256 | 256 | self.slug = "%s-%s" % (self._id, self.slug) |
257 | 257 | |
258 | | def url_for_self(self, urlgen): |
| 258 | def url_for_self(self, urlgen, **extra_args): |
259 | 259 | """ |
260 | 260 | Generate an appropriate url for ourselves |
261 | 261 | |
… |
… |
class MediaEntry(Document):
|
267 | 267 | return urlgen( |
268 | 268 | 'mediagoblin.user_pages.media_home', |
269 | 269 | user=uploader.username, |
270 | | media=self.slug) |
| 270 | media=self.slug, **extra_args) |
271 | 271 | else: |
272 | 272 | return urlgen( |
273 | 273 | 'mediagoblin.user_pages.media_home', |
274 | 274 | user=uploader.username, |
275 | | media=unicode(self._id)) |
| 275 | media=unicode(self._id), **extra_args) |
276 | 276 | |
277 | 277 | def url_to_prev(self, urlgen): |
278 | 278 | """ |
diff --git a/mediagoblin/listings/views.py b/mediagoblin/listings/views.py
index 3ecf06f..6092e37 100644
a
|
b
|
def tag_atom_feed(request):
|
80 | 80 | feed = AtomFeed( |
81 | 81 | "MediaGoblin: Feed for tag '%s'" % tag_slug, |
82 | 82 | feed_url=request.url, |
83 | | url=request.host_url) |
84 | | |
| 83 | id='tag:'+request.host+',2011:TagGallery:%s' % tag_slug, |
| 84 | links=[{'href': request.urlgen('mediagoblin.listings.tags_listing', qualified=True,tag=tag_slug ), 'rel': 'alternate','type': 'text/html'}]) |
85 | 85 | for entry in cursor: |
86 | 86 | feed.add(entry.get('title'), |
87 | 87 | entry.get('description_html'), |
88 | 88 | content_type='html', |
89 | | author=entry.get_uploader.username, |
| 89 | author={'name': entry.get_uploader.username,'uri': request.urlgen('mediagoblin.user_pages.user_home', qualified=True, user=entry.get_uploader.username)}, |
90 | 90 | updated=entry.get('created'), |
91 | | url=entry.url_for_self(request.urlgen)) |
| 91 | links=[{'href':entry.url_for_self(request.urlgen,qualified=True), 'rel': 'alternate','type': 'text/html'}], |
| 92 | url=entry.url_for_self(request.urlgen, qualified=True)) |
92 | 93 | |
93 | 94 | return feed.get_response() |
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index f721f01..19e869b 100644
a
|
b
|
def atom_feed(request):
|
225 | 225 | .sort('created', DESCENDING) \ |
226 | 226 | .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS) |
227 | 227 | |
228 | | feed = AtomFeed(request.matchdict['user'], |
| 228 | feed = AtomFeed( |
| 229 | "MediaGoblin: Feed for user '%s'" % request.matchdict['user'], |
229 | 230 | feed_url=request.url, |
230 | | url=request.host_url) |
| 231 | id='tag:'+request.host+',2011:UserGallery:'+request.matchdict['user'], |
| 232 | links=[{'href':request.urlgen('mediagoblin.user_pages.user_home', qualified=True,user=request.matchdict['user']), 'rel': 'alternate','type': 'text/html'}]) |
231 | 233 | |
232 | 234 | for entry in cursor: |
233 | 235 | feed.add(entry.get('title'), |
234 | 236 | entry.get('description_html'), |
235 | 237 | content_type='html', |
236 | | author=request.matchdict['user'], |
| 238 | author={'name': entry.get_uploader.username,'uri': request.urlgen('mediagoblin.user_pages.user_home',qualified=True, user=entry.get_uploader.username)}, |
237 | 239 | updated=entry.get('created'), |
238 | | url=entry.url_for_self(request.urlgen)) |
| 240 | links=[{'href':entry.url_for_self(request.urlgen,qualified=True), 'rel': 'alternate','type': 'text/html'}], |
| 241 | url=entry.url_for_self(request.urlgen,qualified=True)) |
239 | 242 | |
240 | 243 | return feed.get_response() |
241 | 244 | |