Mercurial > kallithea
comparison rhodecode/controllers/feed.py @ 1897:0f22dedb588f beta
added short_id to feeds, and made it more compact
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 13 Jan 2012 21:31:01 +0200 |
parents | 89efedac4e6c |
children | 82a88013a3fd 8ecfed1d8f8b |
comparison
equal
deleted
inserted
replaced
1896:12135cff4c77 | 1897:0f22dedb588f |
---|---|
49 self.title = self.title = _('%s %s feed') % (c.rhodecode_name, '%s') | 49 self.title = self.title = _('%s %s feed') % (c.rhodecode_name, '%s') |
50 self.language = 'en-us' | 50 self.language = 'en-us' |
51 self.ttl = "5" | 51 self.ttl = "5" |
52 self.feed_nr = 10 | 52 self.feed_nr = 10 |
53 | 53 |
54 def _get_title(self, cs): | |
55 return "R%s:%s - %s" % ( | |
56 cs.revision, cs.short_id, cs.message | |
57 ) | |
58 | |
54 def __changes(self, cs): | 59 def __changes(self, cs): |
55 changes = [] | 60 changes = [] |
56 | 61 |
57 a = [safe_unicode(n.path) for n in cs.added] | 62 a = [safe_unicode(n.path) for n in cs.added] |
58 if a: | 63 if a: |
70 | 75 |
71 return ''.join(changes) | 76 return ''.join(changes) |
72 | 77 |
73 def atom(self, repo_name): | 78 def atom(self, repo_name): |
74 """Produce an atom-1.0 feed via feedgenerator module""" | 79 """Produce an atom-1.0 feed via feedgenerator module""" |
75 feed = Atom1Feed(title=self.title % repo_name, | 80 feed = Atom1Feed( |
76 link=url('summary_home', repo_name=repo_name, | 81 title=self.title % repo_name, |
77 qualified=True), | 82 link=url('summary_home', repo_name=repo_name, |
78 description=self.description % repo_name, | 83 qualified=True), |
79 language=self.language, | 84 description=self.description % repo_name, |
80 ttl=self.ttl) | 85 language=self.language, |
81 desc_msg = [] | 86 ttl=self.ttl |
87 ) | |
88 | |
82 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])): | 89 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])): |
90 desc_msg = [] | |
83 desc_msg.append('%s - %s<br/><pre>' % (cs.author, cs.date)) | 91 desc_msg.append('%s - %s<br/><pre>' % (cs.author, cs.date)) |
84 desc_msg.append(self.__changes(cs)) | 92 desc_msg.append(self.__changes(cs)) |
85 | 93 |
86 feed.add_item(title=cs.message, | 94 feed.add_item(title=self._get_title(cs), |
87 link=url('changeset_home', repo_name=repo_name, | 95 link=url('changeset_home', repo_name=repo_name, |
88 revision=cs.raw_id, qualified=True), | 96 revision=cs.raw_id, qualified=True), |
89 author_name=cs.author, | 97 author_name=cs.author, |
90 description=''.join(desc_msg)) | 98 description=''.join(desc_msg)) |
91 | 99 |
92 response.content_type = feed.mime_type | 100 response.content_type = feed.mime_type |
93 return feed.writeString('utf-8') | 101 return feed.writeString('utf-8') |
94 | 102 |
95 def rss(self, repo_name): | 103 def rss(self, repo_name): |
96 """Produce an rss2 feed via feedgenerator module""" | 104 """Produce an rss2 feed via feedgenerator module""" |
97 feed = Rss201rev2Feed(title=self.title % repo_name, | 105 feed = Rss201rev2Feed( |
98 link=url('summary_home', repo_name=repo_name, | 106 title=self.title % repo_name, |
99 qualified=True), | 107 link=url('summary_home', repo_name=repo_name, |
100 description=self.description % repo_name, | 108 qualified=True), |
101 language=self.language, | 109 description=self.description % repo_name, |
102 ttl=self.ttl) | 110 language=self.language, |
103 desc_msg = [] | 111 ttl=self.ttl |
112 ) | |
113 | |
104 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])): | 114 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])): |
115 desc_msg = [] | |
105 desc_msg.append('%s - %s<br/><pre>' % (cs.author, cs.date)) | 116 desc_msg.append('%s - %s<br/><pre>' % (cs.author, cs.date)) |
106 desc_msg.append(self.__changes(cs)) | 117 desc_msg.append(self.__changes(cs)) |
107 | 118 |
108 feed.add_item(title=cs.message, | 119 feed.add_item(title=self._get_title(cs), |
109 link=url('changeset_home', repo_name=repo_name, | 120 link=url('changeset_home', repo_name=repo_name, |
110 revision=cs.raw_id, qualified=True), | 121 revision=cs.raw_id, qualified=True), |
111 author_name=cs.author, | 122 author_name=cs.author, |
112 description=''.join(desc_msg), | 123 description=''.join(desc_msg), |
113 ) | 124 ) |