def get_answer_word_counts(self, question, regions=None): """Return word counts for answers to the question, most frequent first. Example: [("zombies", 2), ("floods", 1)] """ def calculate(): return self.get_answers_to(question, regions).word_counts() cache_key = self._answer_cache_key(question, AnswerCache.word_counts, regions) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_category_counts(self, question, regions=None): """Return category counts for answers to the question, most frequent first. Example: [("Rainy", 2), ("Sunny", 1)] """ def calculate(): return self.get_answers_to(question, regions).category_counts() cache_key = self._answer_cache_key(question, AnswerCache.category_counts, regions) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_numeric_average(self, question, region=None): """ Gets the numeric average of answers to the given question """ def calculate(): return Answer.numeric_average(self.get_answers_to( question, region)) cache_key = self._answer_cache_key(question, AnswerCache.average, region) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_word_counts(self, question, region=None): """ Gets word counts for answers to the given question, sorted from most frequent, e.g. [("zombies", 2), ("floods", 1)] """ def calculate(): return Answer.word_counts(self.get_answers_to(question, region)) cache_key = self._answer_cache_key(question, AnswerCache.word_counts, region) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_auto_range_counts(self, question, regions=None): """ Return automatic numeric range counts for answers to the question, most frequent first. Example: [("0 - 9", 2), ("10 - 19", 1)] """ def calculate(): return self.get_answers_to(question, regions).auto_range_counts().items() cache_key = self._answer_cache_key(question, AnswerCache.range_counts, regions) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_auto_range_counts(self, question, region=None): """ Gets automatic numeric range counts for answers to the given question, sorted from most frequent, e.g. [("0 - 9", 2), ("10 - 19", 1)] """ def calculate(): return Answer.auto_range_counts( self.get_answers_to(question, region)).items() cache_key = self._answer_cache_key(question, AnswerCache.range_counts, region) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_category_counts(self, question, region=None): """ Gets category counts for answers to the given question, sorted from most frequent, e.g. [("Rainy", 2), ("Sunny", 1)] """ def calculate(): return Answer.category_counts(self.get_answers_to( question, region)) cache_key = self._answer_cache_key(question, AnswerCache.category_counts, region) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)
def get_answer_numeric_average(self, question, regions=None): """Return the numeric average of answers to the question.""" def calculate(): return self.get_answers_to(question, regions).numeric_average() cache_key = self._answer_cache_key(question, AnswerCache.average, regions) return get_cacheable(cache_key, ANSWER_CACHE_TTL, calculate)