# -*- coding: utf8 -*-
import redis
from django.conf import settings
from django.utils import timezone
from talos.libs.datetime_utils import get_timestamp_or_none
_pool = redis.ConnectionPool(**settings.REDIS['social_cache'])
social_cache = redis.StrictRedis(connection_pool=_pool)
class SignalBlocker(object):
"""for some reason, we need to unregister post save signal when we save a model."""
def __init__(self, signal, receiver, sender, **kwargs):
self.signal = signal
self.receiver = receiver
self.sender = sender
self.kwargs = kwargs
def __enter__(self, *args, **kwargs):
self.signal.disconnect(self.receiver, self.sender, **self.kwargs)
def __exit__(self, *args, **kwargs):
self.signal.connect(self.receiver, self.sender, **self.kwargs)
ts_now_as_score = lambda: get_timestamp_or_none(timezone.now())
def get_social_info(user):
social_info = None
if user:
from social.models import SocialInfo
social_info = SocialInfo(uid=user.id)
return social_info
-
李小芳 authored20082ec7