def setAnalitic(self): city = self.object.city if self.object: pk = self.object.id if settings.UNIC_TMP_USER_ID in self.request.COOKIES: unicId = self.request.COOKIES[settings.UNIC_TMP_USER_ID] redis_adapter.sadd(RedisKeys.news_views % pk, unicId) views_count = redis_adapter.scard(RedisKeys.news_views % pk) if self.object.is_displayed and not self.object.is_archive and self.object.date_added + timedelta(days=settings.TOP_NEWS_LIVETIME) > utc.localize(datetime.today()): redis_adapter.zadd(RedisKeys.pop_news, pk, views_count) redis_adapter.zadd(RedisKeys.pop_news_by_group % self.object.type, pk, views_count) redis_adapter.zadd(RedisKeys.pop_news_by_city % city, pk, views_count) else: redis_adapter.zrem(RedisKeys.pop_news, pk) redis_adapter.zrem(RedisKeys.pop_news_by_group % self.object.type, pk) redis_adapter.zrem(RedisKeys.pop_news_by_city % city, pk) return views_count return 0;
def views_count(self): return redis_adapter.scard(RedisKeys.news_views % self.id)