def __init__(self, username, account_id, auth): p_name = 'Identi.ca(%s)' % username Protocol.__init__(self, account_id, p_name, 'https://identi.ca/api', 'http://identi.ca/api', 'http://identi.ca/tag', 'http://identi.ca/group', 'http://identi.ca', POST_ACTIONS) self.REQUEST_TOKEN_URL = 'https://identi.ca/api/oauth/request_token' self.ACCESS_TOKEN_URL = 'https://identi.ca/api/oauth/access_token' self.AUTHORIZATION_URL = 'https://identi.ca/api/oauth/authorize' self.oauth_support = False self.uname = None self.set_consumer(CK, base64.b64decode(CS + SALT)) if auth: self.set_auth_info(auth)
def __init__(self, username, account_id, auth): p_name = 'Twitter(%s)' % username Protocol.__init__(self, account_id, p_name, 'http://api.twitter.com/1', 'http://search.twitter.com', 'http://twitter.com/search?q=%23', None, 'http://www.twitter.com', POST_ACTIONS) self.REQUEST_TOKEN_URL = 'https://api.twitter.com/oauth/request_token' self.ACCESS_TOKEN_URL = 'https://api.twitter.com/oauth/access_token' self.AUTHORIZATION_URL = 'https://api.twitter.com/oauth/authorize' self.uname = None self.set_consumer(CK, base64.b64decode(CS + SALT)) if auth: self.set_auth_info(auth)
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
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
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