コード例 #1
0
def show_all_vote(message):
    """Show all voted keywords"""
    keywords = r.smembers(VOTE_WORDS)
    counts = r.mget(VOTE_PREFIX.format(keyword) for keyword in keywords)
    counts = sorted(zip(keywords, map(lambda x: x or 0, counts)))
    message.send('\n'.join('{} is voted to {}'.format(k, c)
                           for k, c in counts))
コード例 #2
0
def search_content(message, words):
    """search all related contents."""
    hits = []
    for key in r.smembers(ALL_KEYWORDS):
        if Levenshtein.ratio(words, key) > 0.8:
            hits.append("---- %s ----\n\n%s\n\n\n" %
                        (key, r.get(KEYWORD_PREFIX % key)))
    if hits:
        message.reply("".join(hits))
コード例 #3
0
def search_keyword(message, keyword):
    """search keyword."""
    all_keywords = r.smembers(ALL_KEYWORDS)
    result = []
    for word in all_keywords:
        if keyword in word:
            result.append(word)
    if result:
        message.send(",".join(result))
    else:
        message.send("Not found")
コード例 #4
0
def display_all_keywords(message, keywords):
    """search keyword and show them all at once."""
    all_keywords = r.smembers(ALL_KEYWORDS)
    result = []
    for word in all_keywords:
        if all(keyword in word for keyword in keywords.split()):
            result.append(word)
    if result:
        texts = zip(result, r.mget(KEYWORD_PREFIX % w for w in result))
        message.send("".join("---- %s ----\n\n%s\n\n\n" % seg
                             for seg in texts))
    else:
        message.send("Not found")
コード例 #5
0
 def get_everyone(self):
     for team in r.smembers(ONCALL_SET):
         self._migrate_if_necessary(team)
         yield team, self.get_oncall(team)
コード例 #6
0
def all_keywords_with_prefix(message, prefix):
    """list all keywords starts with <prefix>."""
    keys = [k for k in r.smembers(ALL_KEYWORDS) if k.startswith(prefix)]
    message.send('\n'.join(keys))
コード例 #7
0
def all_keywords(message):
    """list all keywords."""
    message.send(','.join(r.smembers(ALL_KEYWORDS)))