annotate core/services.py @ 629:f4c043cf55ac

Wiki integration. Requests don't always have sessions. In particular this occurs when a request is made without a trailing slash. The Common middleware redirects when this happens, and the middleware process_request() processing stops before a session can get added. So just set an attribute on the request object for each operation. This seemed weird to me at first, but there are plenty of examples of this in the Django code base already.
author Brian Neal <bgneal@gmail.com>
date Tue, 13 Nov 2012 13:50:06 -0600
parents ee87ea74d46b
children a423e8fd082d
rev   line source
bgneal@508 1 """
bgneal@508 2 This module provides a common way for the various apps to integrate with services
bgneal@508 3 that are installed at this site.
bgneal@508 4
bgneal@508 5 """
bgneal@508 6 from django.conf import settings
bgneal@508 7 import redis
bgneal@508 8
bgneal@508 9 # Redis connection and database settings
bgneal@508 10
bgneal@508 11 REDIS_HOST = getattr(settings, 'REDIS_HOST', 'localhost')
bgneal@508 12 REDIS_PORT = getattr(settings, 'REDIS_PORT', 6379)
bgneal@508 13 REDIS_DB = getattr(settings, 'REDIS_DB', 0)
bgneal@508 14
bgneal@508 15
bgneal@508 16 def get_redis_connection(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_DB):
bgneal@508 17 """
bgneal@508 18 Create and return a Redis connection using the supplied parameters.
bgneal@508 19
bgneal@508 20 """
bgneal@519 21 return redis.StrictRedis(host=host, port=port, db=db)