def refill_redis(profile_id): support_key = get_support_key(profile_id) promise_key = get_promise_key(profile_id) promise_ids = list(Promise.objects.filter(creator=profile_id).active().values_list('id', flat=True)) connection.delete(promise_key) for prom_id in promise_ids: connection.lpush(promise_key, prom_id) promises_supported_ids = list(Promise.objects.filter(supporter__id=profile_id).values_list('id', flat=True)) connection.delete(support_key) for prom_id in promises_supported_ids: connection.lpush(support_key, prom_id)
def save_promise(self, data): form = NewPromiseForm(data) if form.is_valid(): new_promise = form.process(self.request) key = get_promise_key(self.request.user.profile.id) redis_connection.lpush(key, new_promise.id) # Posting to facebook if data.get('facebook_share') == 'on': post_data = social(new_promise, self.request.user.profile) msg = (u'I just created a promise on Promise.ly: ' u'{post_description}. Please support me! {link}') self.request.user.profile.wall_post( self.request, msg.format(**post_data)) # Logging stuff logger.log('promise', data={ 'creator_id': new_promise.creator.id, 'promise_id': new_promise.id, }) return new_promise
def update_redis(self, promise_id): """ In Redis, adds this promise to the list of promises that this user supports. """ key = get_support_key(self.request.user.profile.id) redis_connection.lpush(key, promise_id)