Esempio n. 1
0
    def get_entities(self, tweet):
        if 'entities' in tweet:
            entities = {
                'urls': [],
                'hashtags': [],
                'mentions': [],
                'groups': [],
            }
            for mention in tweet['entities']['user_mentions']:
                text = '@' + mention['screen_name']
                url = "%s%s%s" % (mention['screen_name'], ARG_SEP,
                                  self.account_id)
                entities['mentions'].append(Entity(url, text, text))

            for url in tweet['entities']['urls']:
                try:
                    expanded_url = url['expanded_url']
                except KeyError:
                    expanded_url = url['url']

                try:
                    display_url = 'http://' + url['display_url']
                except KeyError:
                    display_url = url['url']

                entities['urls'].append(Entity(expanded_url, display_url,
                                        url['url']))

            if 'media' in tweet['entities']:
                for url in tweet['entities']['media']:
                    display_url = 'http://' + url['display_url']
                    entities['urls'].append(Entity(url['media_url'],
                                            display_url, url['url']))

            for ht in tweet['entities']['hashtags']:
                text = '#' + ht['text']
                url = "%s%s" % (self.urls['hashtags'], ht['text'])
                entities['hashtags'].append(Entity(url, text, text))
        else:
            entities = Protocol.get_entities(self, tweet)
        return entities
Esempio n. 2
0
    def get_entities(self, tweet):
        if tweet.has_key('entities'):
            entities = {
                'urls': [],
                'hashtags': [],
                'mentions': [],
                'groups': [],
            }
            for mention in tweet['entities']['user_mentions']:
                text = '@' + mention['screen_name']
                url = "%s%s%s" % (mention['screen_name'], ARG_SEP, self.account_id)
                entities['mentions'].append(Entity(url, text, text))

            for url in tweet['entities']['urls']:
                try:
                    expanded_url = url['expanded_url']
                except KeyError:
                    expanded_url = url['url']

                try:
                    display_url = 'http://' + url['display_url']
                except KeyError:
                    display_url = url['url']

                entities['urls'].append(Entity(expanded_url, display_url,
                    url['url']))

            if tweet['entities'].has_key('media'):
                for url in tweet['entities']['media']:
                    display_url = 'http://' + url['display_url']
                    entities['urls'].append(Entity(url['media_url'], display_url,
                        url['url']))

            for ht in tweet['entities']['hashtags']:
                text = '#' + ht['text']
                url = "%s%s" % (self.urls['hashtags'], ht['text'])
                entities['hashtags'].append(Entity(url, text, text))
        else:
            entities = Protocol.get_entities(self, tweet)
        return entities
Esempio n. 3
0
 def get_entities(self, status):
     entities = Protocol.get_entities(self, status)
     for item in self.GROUP_PATTERN.findall(status['text']):
         url = "%s/%s" % (self.urls['groups'], item[1:])
         entities['groups'].append(Entity(url, item, item))
     return entities
Esempio n. 4
0
 def get_entities(self, status):
     entities = Protocol.get_entities(self, status)
     for item in self.GROUP_PATTERN.findall(status['text']):
         url = "%s/%s" % (self.urls['groups'], item[1:])
         entities['groups'].append(Entity(url, item, item))
     return entities