# HG changeset patch # User Marcin Kuzminski # Date 1300634224 -3600 # Node ID 76c5b69c1b2712b201530d3588a30f6fe35460cc # Parent f3c25bbd914886c17a191de48bf0adebdf74ef0e fixed wrong order of changes in feeds added some extra info into rss and atom feed ie. changed/modified/deleted files diff -r f3c25bbd9148 -r 76c5b69c1b27 rhodecode/controllers/feed.py --- a/rhodecode/controllers/feed.py Sat Mar 19 22:10:10 2011 +0100 +++ b/rhodecode/controllers/feed.py Sun Mar 20 16:17:04 2011 +0100 @@ -51,6 +51,25 @@ self.ttl = "5" self.feed_nr = 10 + def __changes(self, cs): + changes = '' + + a = [n.path for n in cs.added] + if a: + changes += '\nA ' + '\nA '.join(a) + + m = [n.path for n in cs.changed] + if m: + changes += '\nM ' + '\nM '.join(m) + + d = [n.path for n in cs.removed] + if d: + changes += '\nD ' + '\nD '.join(d) + + changes += '' + + return changes + def atom(self, repo_name): """Produce an atom-1.0 feed via feedgenerator module""" feed = Atom1Feed(title=self.title % repo_name, @@ -59,11 +78,15 @@ language=self.language, ttl=self.ttl) - for cs in c.rhodecode_repo[:self.feed_nr]: + for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])): + desc = '%s - %s
' % (cs.author, cs.date)
+            desc += self.__changes(cs)
+
             feed.add_item(title=cs.message,
                           link=url('changeset_home', repo_name=repo_name,
                                    revision=cs.raw_id, qualified=True),
-                                   description=str(cs.date))
+                          author_name=cs.author,
+                          description=desc)
 
         response.content_type = feed.mime_type
         return feed.writeString('utf-8')
@@ -77,11 +100,16 @@
                          language=self.language,
                          ttl=self.ttl)
 
-        for cs in c.rhodecode_repo[:self.feed_nr]:
+        for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
+            desc = '%s - %s
' % (cs.author, cs.date)
+            desc += self.__changes(cs)
+
             feed.add_item(title=cs.message,
                           link=url('changeset_home', repo_name=repo_name,
                                    revision=cs.raw_id, qualified=True),
-                          description=str(cs.date))
+                          author_name=cs.author,
+                          description=desc,
+                         )
 
         response.content_type = feed.mime_type
         return feed.writeString('utf-8')