def to_json_fields_for_FE(self, current_user_id, user_img_tag=[]): user = User.find_user_by_id(self.poster_id) cur_user_vote = UserPost.get_vote_by_ids(current_user_id, self.post_id) cur_user_vote = cur_user_vote if cur_user_vote else 0 img_data = [] # retrieve image data from s3 if its an image if self.post_type.describe() == 1: key = self.get_s3_key() try: img_data = s3_client.get_object(\ Bucket='graffiti-post-images',\ Key=key)['Body'].read().decode('ascii') except: logger.error('Error retrieving image post: ' + key) return json.dumps( dict(postid=self.post_id, type=self.post_type.describe(), text=self.text, location=dict(longitude=self.longitude, latitude=self.latitude), created_at=self.created_at, poster=json.loads(user.to_json_fields_for_FE(user_img_tag)), num_votes=self.num_votes, current_user_vote=cur_user_vote, image=img_data))