Exemplo n.º 1
0
 def url(self, name):
     name = name.replace("\\", "/")
     key = u"s3_url:%s" % name
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         value = self.bucket.get_key(name).generate_url(QUERYSTRING_EXPIRE, method='GET', force_http=True)
         cache.cache.set(key, value, 3600*24*30)
     return value
Exemplo n.º 2
0
 def friendset(self):
     """Return a set of user_profile ids of this user's friends"""
     key = u"friendset:%s" % key_suffix('friends', self.pk)
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         value = set(Friendship.objects.get_friendships(user_profile=self).values_list('user_profile2_id', flat=True))
         cache.cache.set(key, value)
     return value
Exemplo n.º 3
0
 def size(self, name):
     name = name.replace("\\", "/")
     key = u"s3_size:%s" % name
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         kx = self.bucket.get_key(name)
         value = kx and kx.size or 0
         cache.cache.set(key, value, 3600*24*30)
     return value
Exemplo n.º 4
0
 def size(self, name):
     name = name.replace("\\", "/")
     key = u"s3_size:%s" % name
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         kx = self.bucket.get_key(name)
         value = kx and kx.size or 0
         cache.cache.set(key, value, 3600 * 24 * 30)
     return value
Exemplo n.º 5
0
 def get_friend_follower_count(self):
     key = u"friend-follower-stats:%s" % key_suffix('friends', self.pk)
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         v1 = Friendship.objects.select_related('user_profile2__user').filter(user_profile1=self, user_profile2__user__is_active=True).count()
         v2 = Follower.objects.select_related('follower__user').filter(followee=self, follower__user__is_active=True).count()
         value = (v1, v2)
         cache.cache.set(key, value, 300)
     return value
Exemplo n.º 6
0
 def url(self, name):
     name = name.replace("\\", "/")
     key = u"s3_url:%s" % name
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         value = self.bucket.get_key(name).generate_url(QUERYSTRING_EXPIRE,
                                                        method='GET',
                                                        force_http=True)
         cache.cache.set(key, value, 3600 * 24 * 30)
     return value
Exemplo n.º 7
0
 def blacklist_set(self):
     """Return a set of blacklisted screen names"""
     key = u"twitter-" + key_suffix("blacklist", 0, expire_time=3600*24*30)
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         value= set()
         for v in self.values_list('names', flat=True):
             for n in v.lower().split():
                 value.add(n.strip())
         cache.cache.set(key, value, 3600*24*30)
     return value
Exemplo n.º 8
0
 def blacklist_set(self):
     """Return a set of blacklisted screen names"""
     key = u"twitter-" + key_suffix(
         "blacklist", 0, expire_time=3600 * 24 * 30)
     key = short_key(key)
     value = cache.cache.get(key, None)
     if value is None:
         value = set()
         for v in self.values_list('names', flat=True):
             for n in v.lower().split():
                 value.add(n.strip())
         cache.cache.set(key, value, 3600 * 24 * 30)
     return value
Exemplo n.º 9
0
def twitter_profile_url(user):
    """Return Twitter profile URL for the given user"""
    from twitter.models import TwitterProfile

    sfx = key_suffix(u"twitter_profile", user.pk)
    key = short_key(u"twitter_profile_url:%s" % sfx)
    value = cache.cache.get(key, None)
    if value is None:
        p = get_or_none(TwitterProfile.objects.active(), user_profile__user__pk=user.pk)
        if p:
            value = u"http://twitter.com/%s" % p.screen_name
        else:
            value = user.get_profile().get_absolute_url()
        cache.cache.set(key, value)
    return value
Exemplo n.º 10
0
def twitter_profile_url(user):
    """Return Twitter profile URL for the given user"""
    from twitter.models import TwitterProfile
    sfx = key_suffix(u'twitter_profile', user.pk)
    key = short_key(u'twitter_profile_url:%s' % sfx)
    value = cache.cache.get(key, None)
    if value is None:
        p = get_or_none(TwitterProfile.objects.active(),
                        user_profile__user__pk=user.pk)
        if p:
            value = u'http://twitter.com/%s' % p.screen_name
        else:
            value = user.get_profile().get_absolute_url()
        cache.cache.set(key, value)
    return value
Exemplo n.º 11
0
def event_friends(event, user_profile):
    ekey = key_suffix('attendees', event.pk)
    ukey = key_suffix('friends', user_profile.pk)
    key = short_key(u"event_friends:%s:%s" % (ekey, ukey))
    value = cache.cache.get(key, None)
    if value is None:
        value = ""
        friends = user_profile.friendset
        if friends:
            attendees = event.attendeeset
            fr_at = friends & attendees # friends who are also attendees of this event
            if fr_at:
                n = len(fr_at)
                if n == 1:
                    value = "| 1 Friend"
                else:
                    value = u"| %d Friends" % n
        cache.cache.set(key, value)
    return value
Exemplo n.º 12
0
def event_friends(event, user_profile):
    ekey = key_suffix('attendees', event.pk)
    ukey = key_suffix('friends', user_profile.pk)
    key = short_key(u"event_friends:%s:%s" % (ekey, ukey))
    value = cache.cache.get(key, None)
    if value is None:
        value = ""
        friends = user_profile.friendset
        if friends:
            attendees = event.attendeeset
            fr_at = friends & attendees  # friends who are also attendees of this event
            if fr_at:
                n = len(fr_at)
                if n == 1:
                    value = "| 1 Friend"
                else:
                    value = u"| %d Friends" % n
        cache.cache.set(key, value)
    return value