You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2012/10/31 17:22:33 UTC

[1/2] git commit: [#5013] ticket:196 Set proper pubDate for news in RSS feed

Updated Branches:
  refs/heads/master beeb0e736 -> a37b35a6a


[#5013] ticket:196 Set proper pubDate for news in RSS feed


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/11727510
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/11727510
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/11727510

Branch: refs/heads/master
Commit: 11727510fade8195bfe6e3fa2caa09f6a36b798d
Parents: beeb0e7
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Tue Oct 30 13:05:07 2012 +0400
Committer: Dave Brondsema <db...@geek.net>
Committed: Wed Oct 31 16:22:19 2012 +0000

----------------------------------------------------------------------
 Allura/allura/model/artifact.py                  |    3 +-
 ForgeBlog/forgeblog/model/blog.py                |    4 +-
 ForgeBlog/forgeblog/tests/unit/test_blog_post.py |   21 +++++++++++++++++
 3 files changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/11727510/Allura/allura/model/artifact.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index 197ed86..29fe828 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -619,7 +619,7 @@ class Feed(MappedClass):
 
 
     @classmethod
-    def post(cls, artifact, title=None, description=None, author=None, author_link=None, author_name=None):
+    def post(cls, artifact, title=None, description=None, author=None, author_link=None, author_name=None, pubdate=datetime.utcnow()):
         """
         Create a Feed item.  Returns the item.
         But if anon doesn't have read access, create does not happen and None is returned
@@ -649,6 +649,7 @@ class Feed(MappedClass):
             description=description,
             link=artifact.url(),
             author_name=author_name,
+            pubdate=pubdate,
             author_link=author_link or author.url())
         return item
 

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/11727510/ForgeBlog/forgeblog/model/blog.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/model/blog.py b/ForgeBlog/forgeblog/model/blog.py
index 50e8e1c..0c7aec4 100644
--- a/ForgeBlog/forgeblog/model/blog.py
+++ b/ForgeBlog/forgeblog/model/blog.py
@@ -215,7 +215,7 @@ class BlogPost(M.VersionedArtifact, ActivityObject):
             description = diff
             if v1.state != 'published' and v2.state == 'published':
                 activity('created', self)
-                M.Feed.post(self, self.title, self.text, author=self.author())
+                M.Feed.post(self, self.title, self.text, author=self.author(), pubdate=self.get_version(1).timestamp)
                 description = self.text
                 subject = '%s created post %s' % (
                     c.user.username, self.title)
@@ -233,7 +233,7 @@ class BlogPost(M.VersionedArtifact, ActivityObject):
                 c.user.username, self.title)
             if self.state == 'published':
                 activity('created', self)
-                M.Feed.post(self, self.title, self.text, author=self.author())
+                M.Feed.post(self, self.title, self.text, author=self.author(), pubdate=self.timestamp)
         if self.state == 'published':
             M.Notification.post(
                 artifact=self, topic='metadata', text=description, subject=subject)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/11727510/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/tests/unit/test_blog_post.py b/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
index 9dcba4f..c9915c4 100644
--- a/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
+++ b/ForgeBlog/forgeblog/tests/unit/test_blog_post.py
@@ -1,12 +1,33 @@
 from datetime import datetime
 from nose.tools import assert_equal
+from pylons import c
 
 from forgeblog import model as M
 from forgeblog.tests.unit import BlogTestWithModel
+from allura.model import Feed
 
 def wrapped(s):
     return '<div class="markdown_content"><p>%s</p></div>' % s
 
+class TestFeed(BlogTestWithModel):
+    def testd(self):
+        post = M.BlogPost()
+        post.title = 'test'
+        post.text = 'test message'
+        post.state = 'published'
+        post.timestamp = datetime(2012, 10, 29, 9, 57, 21, 465000)
+        post.neighborhood_id = c.project.neighborhood_id
+        post.make_slug()
+        post.commit()
+        f = Feed.post(
+            post,
+            title=post.title,
+            description=post.text,
+            author=post.author(),
+            pubdate=post.timestamp)
+        assert_equal(f.pubdate, datetime(2012, 10, 29, 9, 57, 21, 465000))
+
+
 class TestHtmlPreview(BlogTestWithModel):
     def _make_post(self, text):
         post = M.BlogPost()