diff options
Diffstat (limited to 'quoins/controllers.py')
-rw-r--r-- | quoins/controllers.py | 32 |
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 | |||
41 | import openid.server.server | 41 | import openid.server.server |
42 | import openid.extensions.sreg | 42 | import openid.extensions.sreg |
43 | from openid.store.sqlstore import MySQLStore | 43 | from openid.store.sqlstore import MySQLStore |
44 | import MySQLdb | ||
45 | import sqlalchemy.engine.url | ||
46 | import types | 44 | import types |
47 | 45 | ||
48 | import xmlrpclib, sys, re | 46 | import xmlrpclib, sys, re |
49 | from linkback import LinkBackHandler, PingBackURI, TrackBackURI | 47 | from linkback import LinkBackHandler, PingBackURI, TrackBackURI |
50 | import base64 | 48 | import base64 |
51 | import urllib | 49 | import urllib |
50 | import openid_controllers | ||
51 | from utils import get_oid_connection | ||
52 | 52 | ||
53 | def b64encode(x): | 53 | def b64encode(x): |
54 | return base64.encodestring(x)[:-1] | 54 | return base64.encodestring(x)[:-1] |
55 | 55 | ||
56 | def 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 | |||
69 | def fix_url(url): | 56 | def 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') |