summaryrefslogtreecommitdiff
path: root/quoins/controllers.py
diff options
context:
space:
mode:
Diffstat (limited to 'quoins/controllers.py')
-rw-r--r--quoins/controllers.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/quoins/controllers.py b/quoins/controllers.py
index 541d90b..e419d40 100644
--- a/quoins/controllers.py
+++ b/quoins/controllers.py
@@ -318,6 +318,8 @@ def post_paginate(start, posts, size):
318 prev = prev, 318 prev = prev,
319 next = next) 319 next = next)
320 320
321ID_RE = re.compile(r'.*?/author/([^/]*)')
322
321class BlogController(TGController): 323class BlogController(TGController):
322 feed = Feed() 324 feed = Feed()
323 pingback = Pingback() 325 pingback = Pingback()
@@ -325,12 +327,17 @@ class BlogController(TGController):
325 def __init__(self, *args, **kw): 327 def __init__(self, *args, **kw):
326 self.path = kw.pop('path', '/') 328 self.path = kw.pop('path', '/')
327 self.post_paginate = kw.pop('paginate', 5) 329 self.post_paginate = kw.pop('paginate', 5)
328 get_name_from_id = kw.pop('get_name_from_id', lambda x: x) 330 get_name_from_id = kw.pop('get_name_from_id', self.get_username_from_openid)
329 self.openid = openid_controllers.OpenIDController(path=self.path+'/openid/', 331 self.openid = openid_controllers.OpenIDController(path=os.path.join(self.path, 'openid/'),
332 quoins=self,
330 get_name_from_id = get_name_from_id) 333 get_name_from_id = get_name_from_id)
331 self.feed.blog_controller = self 334 self.feed.blog_controller = self
332 super(BlogController, self).__init__(*args, **kw) 335 super(BlogController, self).__init__(*args, **kw)
333 336
337 def get_username_from_openid(self, id):
338 m = ID_RE.match(id)
339 return m.group(1)
340
334 def url(self, obj=None): 341 def url(self, obj=None):
335 if obj is None: 342 if obj is None:
336 u = tg.url(self.path) 343 u = tg.url(self.path)
@@ -506,7 +513,7 @@ Comment:
506 post = post) 513 post = post)
507 514
508 @expose(template="genshi:quoinstemplates.new_comment") 515 @expose(template="genshi:quoinstemplates.new_comment")
509 def new_comment(self, id): 516 def new_comment(self, id, **kw):
510 post = DBSession.query(Post).get(id) 517 post = DBSession.query(Post).get(id)
511 if not post.allow_comments: 518 if not post.allow_comments:
512 flash('This post does not allow comments.') 519 flash('This post does not allow comments.')
@@ -625,6 +632,7 @@ Comment:
625 c.approved = True 632 c.approved = True
626 c.body = body 633 c.body = body
627 c.url = url 634 c.url = url
635 c.openid = url
628 c.name = name 636 c.name = name
629 flash('Your comment has been posted.') 637 flash('Your comment has been posted.')
630 self.send_comment_email(c) 638 self.send_comment_email(c)