{"action":"created","comment":{"url":"https://api.github.com/repos/odoo/odoo/pulls/comments/26125329","id":26125329,"diff_hunk":"@@ -167,6 +171,80 @@ def tags_list(tag_ids, current_tag):\n         response = request.website.render(\"website_blog.blog_post_short\", values)\n         return response\n \n+    @http.route(['/blog/<model(\"blog.blog\"):blog>/<any(\"atom\",\"rss\"):feed_type>'], type='http', auth=\"public\", website=True)\n+    def blog_feed(self, blog=None, feed_type=None):\n+        \"\"\" RSS/ATOM\n+\n+        Blog Detail : fg = FeedGenerator()\n+\n+        - Id : Blog id (URL)\n+        - Title : Blog name\n+        - Link : Blog LINK (URL)\n+        - Description : Blog Description\n+        - Lastbuilddate : Update date (last modification date in the blog) \"This will set both ATOM:updated and RSS:lastBuildDate.\"\n+        - Language : blog language\n+            ------\n+            Blog Post Detail : fe = fg.add_entry()\n+            ------\n+            - Id : Blog Post id (URL)\n+            - Title : Blog Post Name\n+            - Link : Blog Post Link (URL) OR Rss Link OR Atom Link\n+            - Author : Blog Post Name(Name, Email)\n+            - Description : Blog Post Subtitle\n+            - Update : last modification date in the Blog Post for use ATOM\n+            - Published : Create Date of Blog Post for use ATOM\n+            - Pubdate : Create Date of Blog Post for use RSS\n+            - Content : Blog Post Content (Diasplay Content In ATOM) \"The content MUST be suitable for presentation as HTML\"\n+        \"\"\"\n+        cr, uid, context = request.cr, request.uid, request.context\n+        user = request.registry['res.users'].browse(cr, uid, uid, context=context)\n+        base_url = request.registry['ir.config_parameter'].get_param(cr, uid, 'web.base.url')\n+        blog_post_obj = request.registry['blog.post']\n+\n+        blog_url = '%s/blog/%s' % (base_url, slug(blog))\n+        fg = FeedGenerator()\n+        fg.id(blog_url)\n+        fg.title(blog.name)\n+        fg.link(href='%s/blog/%s/atom' % (base_url, slug(blog)), type='application/atom+xml', rel='self')\n+        fg.link(href='%s/blog/%s/rss' % (base_url, slug(blog)), type='application/rss+xml', rel='self')\n+        fg.link(href=blog_url, rel='alternate')\n+        fg.description(blog.name)\n+        fg.language(user.lang)\n+\n+        timezone = pytz.timezone(context.get('tz') or 'UTC')\n+        blog_write_date = datetime.datetime.strptime(blog.write_date, tools.DEFAULT_SERVER_DATETIME_FORMAT).replace(tzinfo=pytz.utc).astimezone(timezone)\n+\n+        locale.setlocale(locale.LC_TIME, \"en_US.utf8\")\n+        # This will set both atom:updated and rss:lastBuildDate.\n+        fg.lastBuildDate(blog_write_date)\n+\n+        # Latest updated blogposts\n+        blog_post_ids = blog_post_obj.search(cr, uid, [('blog_id', '=', blog.id)], order=\"write_date desc\", limit=15, context=context)\n+        for post in blog_post_obj.browse(cr, SUPERUSER_ID, blog_post_ids, context=context):\n+            fe = fg.add_entry()\n+            blog_post_url = '%s/blog/%s/post/%s' % (base_url, slug(blog), slug(post))","path":"addons/website_blog/controllers/main.py","position":76,"original_position":76,"commit_id":"ebf969a53af1a6a3f471728ae7266dfdb28a3a2a","original_commit_id":"ebf969a53af1a6a3f471728ae7266dfdb28a3a2a","user":{"login":"rim-odoo","id":7300760,"avatar_url":"https://avatars.githubusercontent.com/u/7300760?v=3","gravatar_id":"","url":"https://api.github.com/users/rim-odoo","html_url":"https://github.com/rim-odoo","followers_url":"https://api.github.com/users/rim-odoo/followers","following_url":"https://api.github.com/users/rim-odoo/following{/other_user}","gists_url":"https://api.github.com/users/rim-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/rim-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rim-odoo/subscriptions","organizations_url":"https://api.github.com/users/rim-odoo/orgs","repos_url":"https://api.github.com/users/rim-odoo/repos","events_url":"https://api.github.com/users/rim-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/rim-odoo/received_events","type":"User","site_admin":false},"body":"you could reuse `blog_url` variable ","created_at":"2015-03-10T14:22:31Z","updated_at":"2015-03-10T14:22:31Z","html_url":"https://github.com/odoo/odoo/pull/2431#discussion_r26125329","pull_request_url":"https://api.github.com/repos/odoo/odoo/pulls/2431","_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments/26125329"},"html":{"href":"https://github.com/odoo/odoo/pull/2431#discussion_r26125329"},"pull_request":{"href":"https://api.github.com/repos/odoo/odoo/pulls/2431"}}},"pull_request":{"url":"https://api.github.com/repos/odoo/odoo/pulls/2431","id":21280865,"html_url":"https://github.com/odoo/odoo/pull/2431","diff_url":"https://github.com/odoo/odoo/pull/2431.diff","patch_url":"https://github.com/odoo/odoo/pull/2431.patch","issue_url":"https://api.github.com/repos/odoo/odoo/issues/2431","number":2431,"state":"open","locked":false,"title":"[blog] Implement RSS Feeds","user":{"login":"rim-odoo","id":7300760,"avatar_url":"https://avatars.githubusercontent.com/u/7300760?v=3","gravatar_id":"","url":"https://api.github.com/users/rim-odoo","html_url":"https://github.com/rim-odoo","followers_url":"https://api.github.com/users/rim-odoo/followers","following_url":"https://api.github.com/users/rim-odoo/following{/other_user}","gists_url":"https://api.github.com/users/rim-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/rim-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rim-odoo/subscriptions","organizations_url":"https://api.github.com/users/rim-odoo/orgs","repos_url":"https://api.github.com/users/rim-odoo/repos","events_url":"https://api.github.com/users/rim-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/rim-odoo/received_events","type":"User","site_admin":false},"body":"- Task: https://www.odoo.com/web?debug#id=9547&view_type=form&model=project.task\r\n- Pad: https://pad.odoo.com/p/r.SIeozbGyEfAhkzKO","created_at":"2014-09-16T07:36:15Z","updated_at":"2015-03-10T14:22:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"89db68943138acb83239089827f682c428c09eb0","assignee":{"login":"antonylesuisse","id":641600,"avatar_url":"https://avatars.githubusercontent.com/u/641600?v=3","gravatar_id":"","url":"https://api.github.com/users/antonylesuisse","html_url":"https://github.com/antonylesuisse","followers_url":"https://api.github.com/users/antonylesuisse/followers","following_url":"https://api.github.com/users/antonylesuisse/following{/other_user}","gists_url":"https://api.github.com/users/antonylesuisse/gists{/gist_id}","starred_url":"https://api.github.com/users/antonylesuisse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antonylesuisse/subscriptions","organizations_url":"https://api.github.com/users/antonylesuisse/orgs","repos_url":"https://api.github.com/users/antonylesuisse/repos","events_url":"https://api.github.com/users/antonylesuisse/events{/privacy}","received_events_url":"https://api.github.com/users/antonylesuisse/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/odoo/odoo/pulls/2431/commits","review_comments_url":"https://api.github.com/repos/odoo/odoo/pulls/2431/comments","review_comment_url":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/odoo/odoo/issues/2431/comments","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/ebf969a53af1a6a3f471728ae7266dfdb28a3a2a","head":{"label":"odoo-dev:master-blog-rss-feeds-ppa","ref":"master-blog-rss-feeds-ppa","sha":"ebf969a53af1a6a3f471728ae7266dfdb28a3a2a","user":{"login":"odoo-dev","id":7466976,"avatar_url":"https://avatars.githubusercontent.com/u/7466976?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo-dev","html_url":"https://github.com/odoo-dev","followers_url":"https://api.github.com/users/odoo-dev/followers","following_url":"https://api.github.com/users/odoo-dev/following{/other_user}","gists_url":"https://api.github.com/users/odoo-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo-dev/subscriptions","organizations_url":"https://api.github.com/users/odoo-dev/orgs","repos_url":"https://api.github.com/users/odoo-dev/repos","events_url":"https://api.github.com/users/odoo-dev/events{/privacy}","received_events_url":"https://api.github.com/users/odoo-dev/received_events","type":"Organization","site_admin":false},"repo":{"id":19853934,"name":"odoo","full_name":"odoo-dev/odoo","owner":{"login":"odoo-dev","id":7466976,"avatar_url":"https://avatars.githubusercontent.com/u/7466976?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo-dev","html_url":"https://github.com/odoo-dev","followers_url":"https://api.github.com/users/odoo-dev/followers","following_url":"https://api.github.com/users/odoo-dev/following{/other_user}","gists_url":"https://api.github.com/users/odoo-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo-dev/subscriptions","organizations_url":"https://api.github.com/users/odoo-dev/orgs","repos_url":"https://api.github.com/users/odoo-dev/repos","events_url":"https://api.github.com/users/odoo-dev/events{/privacy}","received_events_url":"https://api.github.com/users/odoo-dev/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/odoo-dev/odoo","description":"RD Dev Repository","fork":true,"url":"https://api.github.com/repos/odoo-dev/odoo","forks_url":"https://api.github.com/repos/odoo-dev/odoo/forks","keys_url":"https://api.github.com/repos/odoo-dev/odoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/odoo-dev/odoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/odoo-dev/odoo/teams","hooks_url":"https://api.github.com/repos/odoo-dev/odoo/hooks","issue_events_url":"https://api.github.com/repos/odoo-dev/odoo/issues/events{/number}","events_url":"https://api.github.com/repos/odoo-dev/odoo/events","assignees_url":"https://api.github.com/repos/odoo-dev/odoo/assignees{/user}","branches_url":"https://api.github.com/repos/odoo-dev/odoo/branches{/branch}","tags_url":"https://api.github.com/repos/odoo-dev/odoo/tags","blobs_url":"https://api.github.com/repos/odoo-dev/odoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/odoo-dev/odoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/odoo-dev/odoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/odoo-dev/odoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/odoo-dev/odoo/statuses/{sha}","languages_url":"https://api.github.com/repos/odoo-dev/odoo/languages","stargazers_url":"https://api.github.com/repos/odoo-dev/odoo/stargazers","contributors_url":"https://api.github.com/repos/odoo-dev/odoo/contributors","subscribers_url":"https://api.github.com/repos/odoo-dev/odoo/subscribers","subscription_url":"https://api.github.com/repos/odoo-dev/odoo/subscription","commits_url":"https://api.github.com/repos/odoo-dev/odoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/odoo-dev/odoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/odoo-dev/odoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/odoo-dev/odoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/odoo-dev/odoo/contents/{+path}","compare_url":"https://api.github.com/repos/odoo-dev/odoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/odoo-dev/odoo/merges","archive_url":"https://api.github.com/repos/odoo-dev/odoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/odoo-dev/odoo/downloads","issues_url":"https://api.github.com/repos/odoo-dev/odoo/issues{/number}","pulls_url":"https://api.github.com/repos/odoo-dev/odoo/pulls{/number}","milestones_url":"https://api.github.com/repos/odoo-dev/odoo/milestones{/number}","notifications_url":"https://api.github.com/repos/odoo-dev/odoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/odoo-dev/odoo/labels{/name}","releases_url":"https://api.github.com/repos/odoo-dev/odoo/releases{/id}","created_at":"2014-05-16T11:16:19Z","updated_at":"2015-03-02T11:42:16Z","pushed_at":"2015-03-10T14:13:29Z","git_url":"git://github.com/odoo-dev/odoo.git","ssh_url":"git@github.com:odoo-dev/odoo.git","clone_url":"https://github.com/odoo-dev/odoo.git","svn_url":"https://github.com/odoo-dev/odoo","homepage":"https://www.odoo.com","size":1075423,"stargazers_count":44,"watchers_count":44,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":12,"forks":18,"open_issues":12,"watchers":44,"default_branch":"master"}},"base":{"label":"odoo:master","ref":"master","sha":"d4990c1b4cd8a68cbeecb6a757933ed1f70f8c39","user":{"login":"odoo","id":6368483,"avatar_url":"https://avatars.githubusercontent.com/u/6368483?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo","html_url":"https://github.com/odoo","followers_url":"https://api.github.com/users/odoo/followers","following_url":"https://api.github.com/users/odoo/following{/other_user}","gists_url":"https://api.github.com/users/odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo/subscriptions","organizations_url":"https://api.github.com/users/odoo/orgs","repos_url":"https://api.github.com/users/odoo/repos","events_url":"https://api.github.com/users/odoo/events{/privacy}","received_events_url":"https://api.github.com/users/odoo/received_events","type":"Organization","site_admin":false},"repo":{"id":19745004,"name":"odoo","full_name":"odoo/odoo","owner":{"login":"odoo","id":6368483,"avatar_url":"https://avatars.githubusercontent.com/u/6368483?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo","html_url":"https://github.com/odoo","followers_url":"https://api.github.com/users/odoo/followers","following_url":"https://api.github.com/users/odoo/following{/other_user}","gists_url":"https://api.github.com/users/odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo/subscriptions","organizations_url":"https://api.github.com/users/odoo/orgs","repos_url":"https://api.github.com/users/odoo/repos","events_url":"https://api.github.com/users/odoo/events{/privacy}","received_events_url":"https://api.github.com/users/odoo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/odoo/odoo","description":"Odoo (formerly OpenERP). Open Source Apps To Grow Your Business.","fork":false,"url":"https://api.github.com/repos/odoo/odoo","forks_url":"https://api.github.com/repos/odoo/odoo/forks","keys_url":"https://api.github.com/repos/odoo/odoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/odoo/odoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/odoo/odoo/teams","hooks_url":"https://api.github.com/repos/odoo/odoo/hooks","issue_events_url":"https://api.github.com/repos/odoo/odoo/issues/events{/number}","events_url":"https://api.github.com/repos/odoo/odoo/events","assignees_url":"https://api.github.com/repos/odoo/odoo/assignees{/user}","branches_url":"https://api.github.com/repos/odoo/odoo/branches{/branch}","tags_url":"https://api.github.com/repos/odoo/odoo/tags","blobs_url":"https://api.github.com/repos/odoo/odoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/odoo/odoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/odoo/odoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/odoo/odoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/{sha}","languages_url":"https://api.github.com/repos/odoo/odoo/languages","stargazers_url":"https://api.github.com/repos/odoo/odoo/stargazers","contributors_url":"https://api.github.com/repos/odoo/odoo/contributors","subscribers_url":"https://api.github.com/repos/odoo/odoo/subscribers","subscription_url":"https://api.github.com/repos/odoo/odoo/subscription","commits_url":"https://api.github.com/repos/odoo/odoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/odoo/odoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/odoo/odoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/odoo/odoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/odoo/odoo/contents/{+path}","compare_url":"https://api.github.com/repos/odoo/odoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/odoo/odoo/merges","archive_url":"https://api.github.com/repos/odoo/odoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/odoo/odoo/downloads","issues_url":"https://api.github.com/repos/odoo/odoo/issues{/number}","pulls_url":"https://api.github.com/repos/odoo/odoo/pulls{/number}","milestones_url":"https://api.github.com/repos/odoo/odoo/milestones{/number}","notifications_url":"https://api.github.com/repos/odoo/odoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/odoo/odoo/labels{/name}","releases_url":"https://api.github.com/repos/odoo/odoo/releases{/id}","created_at":"2014-05-13T15:38:58Z","updated_at":"2015-03-10T13:26:41Z","pushed_at":"2015-03-10T13:22:52Z","git_url":"git://github.com/odoo/odoo.git","ssh_url":"git@github.com:odoo/odoo.git","clone_url":"https://github.com/odoo/odoo.git","svn_url":"https://github.com/odoo/odoo","homepage":"https://www.odoo.com","size":1101724,"stargazers_count":2185,"watchers_count":2185,"language":"Gettext Catalog","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1733,"mirror_url":null,"open_issues_count":1997,"forks":1733,"open_issues":1997,"watchers":2185,"default_branch":"8.0"}},"_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/2431"},"html":{"href":"https://github.com/odoo/odoo/pull/2431"},"issue":{"href":"https://api.github.com/repos/odoo/odoo/issues/2431"},"comments":{"href":"https://api.github.com/repos/odoo/odoo/issues/2431/comments"},"review_comments":{"href":"https://api.github.com/repos/odoo/odoo/pulls/2431/comments"},"review_comment":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/odoo/odoo/pulls/2431/commits"},"statuses":{"href":"https://api.github.com/repos/odoo/odoo/statuses/ebf969a53af1a6a3f471728ae7266dfdb28a3a2a"}}}}