summaryrefslogtreecommitdiff
path: root/quoins/controllers.py
diff options
context:
space:
mode:
Diffstat (limited to 'quoins/controllers.py')
-rw-r--r--quoins/controllers.py32
1 files changed, 11 insertions, 21 deletions
diff --git a/quoins/controllers.py b/quoins/controllers.py
index 6aac7a2..541d90b 100644
--- a/quoins/controllers.py
+++ b/quoins/controllers.py
@@ -41,31 +41,18 @@ import openid.consumer.consumer
41import openid.server.server 41import openid.server.server
42import openid.extensions.sreg 42import openid.extensions.sreg
43from openid.store.sqlstore import MySQLStore 43from openid.store.sqlstore import MySQLStore
44import MySQLdb
45import sqlalchemy.engine.url
46import types 44import types
47 45
48import xmlrpclib, sys, re 46import xmlrpclib, sys, re
49from linkback import LinkBackHandler, PingBackURI, TrackBackURI 47from linkback import LinkBackHandler, PingBackURI, TrackBackURI
50import base64 48import base64
51import urllib 49import urllib
50import openid_controllers
51from utils import get_oid_connection
52 52
53def b64encode(x): 53def b64encode(x):
54 return base64.encodestring(x)[:-1] 54 return base64.encodestring(x)[:-1]
55 55
56def get_oid_connection(config=None):
57 if config is None:
58 config = tg.config
59 backupuri = config.get('sqlalchemy.url')
60 uri = config.get('openid.store', backupuri)
61 u = sqlalchemy.engine.url.make_url(uri)
62 pw = u.password or ''
63 conn = MySQLdb.connect (host = u.host,
64 user = u.username,
65 passwd = pw,
66 db = u.database)
67 return conn
68
69def fix_url(url): 56def fix_url(url):
70 parts = urlsplit(url) 57 parts = urlsplit(url)
71 if not parts[0]: 58 if not parts[0]:
@@ -335,6 +322,15 @@ class BlogController(TGController):
335 feed = Feed() 322 feed = Feed()
336 pingback = Pingback() 323 pingback = Pingback()
337 324
325 def __init__(self, *args, **kw):
326 self.path = kw.pop('path', '/')
327 self.post_paginate = kw.pop('paginate', 5)
328 get_name_from_id = kw.pop('get_name_from_id', lambda x: x)
329 self.openid = openid_controllers.OpenIDController(path=self.path+'/openid/',
330 get_name_from_id = get_name_from_id)
331 self.feed.blog_controller = self
332 super(BlogController, self).__init__(*args, **kw)
333
338 def url(self, obj=None): 334 def url(self, obj=None):
339 if obj is None: 335 if obj is None:
340 u = tg.url(self.path) 336 u = tg.url(self.path)
@@ -428,12 +424,6 @@ Comment:
428 t = Thread(target=send_email, args=(msg, fromaddr, toaddr)) 424 t = Thread(target=send_email, args=(msg, fromaddr, toaddr))
429 t.start() 425 t.start()
430 426
431 def __init__(self, *args, **kw):
432 self.path = kw.pop('path', '/')
433 self.post_paginate = kw.pop('paginate', 5)
434 self.feed.blog_controller = self
435 super(BlogController, self).__init__(*args, **kw)
436
437 @expose(template="genshi:quoinstemplates.index") 427 @expose(template="genshi:quoinstemplates.index")
438 def index(self, start=0): 428 def index(self, start=0):
439 pylons.response.headers['X-XRDS-Location']=self.absolute_url('/yadis') 429 pylons.response.headers['X-XRDS-Location']=self.absolute_url('/yadis')