コード例 #1
0
ファイル: messages.py プロジェクト: jmduke/corji
    def create_reply(self):
        message = ""
        text = self.text
        text = text.strip()
        if text_contains_emoji(text):
            emoji = text
        else:
            emoji = emojis_for_emoticons.get(text, None)
            if not emoji:
                raise RuntimeError("Improperly identified message type")
        # If it's a multi-emoji that we don't track, just grab the first emoji.
        # TODO: abstract out use of `keys()`.
        if len(emoji) > 1 and emoji not in google_spreadsheets.keys():
            emoji = text[0]

            # Check for skin-toned emojis.
            # (This only handles the one-emoji case for now.)
            if not emoji_contains_skin_tone(text) and not emoji_is_numeric(text):
                message = render_template('txt/requested_emoji_does_not_exist.txt',
                                          requested_emoji=text,
                                          fallback_emoji=emoji)

        # Time to grab the filepath for the emoji!
        corgi_urls = api.get(emoji)['results']

        # If that still doesn't work, we'll just grab a random one.
        if not corgi_urls:
            logger.warn("Couldn't find corgi for {}. Using random one.".format(
                        emoji))

            while not corgi_urls:
                results = api.get()
                emoji, corgi_urls = results['emoji'], results['results']
            message = render_template('txt/requested_emoji_does_not_exist.txt',
                                      requested_emoji=text,
                                      fallback_emoji=emoji)

        corgi_url = random.choice(corgi_urls)
        if message == "":
            supplements = get_supplement_messsage(self.phone_number, self.text)
            if supplements:
                message = supplements
        return create_response(message, image_url=corgi_url)
コード例 #2
0
ファイル: emoji.py プロジェクト: jmduke/corji
 def test_emoji_is_numeric(self):
     assert not emoji_is_numeric("🏀")
     assert emoji_is_numeric("3️⃣")